设为首页 收藏本站
查看: 387|回复: 0

[经验分享] MySQL数据库多种优化方案

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-8 08:09:18 | 显示全部楼层 |阅读模式
MySQL数据库多种优化方案
1、硬件优化(物理机)
       a、CPU 8~16颗CPU ,2~4颗
       b、mem  96G~128G,3~4个实例。 32~64G内存,2个实例
       c、disk 数量越多越好,性能上:SSD (高并发)> SAS(普通) > sata (线下)
              4块盘为例:RAID0 > RAID10 > RAID5> RAID1
       d、网卡,多块网卡bond,buffer等等。内核调优可以处理
2、软件优化
       操作系统:x64,
       软件:mysql ,编译安装,编译优化。
3、my.cf参数优化(优化的幅度比较小,大部分是架构及SQL语句优化)
       思想:
       监控:生产参数是一般情况下的参数
              命令监控:show global status\G  然后可以看到每个参数用了多少,每个缓存用了多大。通过监控慢慢调整。
              调优工具:mysqlreport ,还有其他的工具
3、SQL语句的优化
       a、索引的优化
              1、抓出慢SQL。让DBA尽量早的参与的开发里面和开发共同讨论。白名单机制
                     long_query_time= #
                     log-slow-queries= /vra/lib/mysql/slow-log
              2、慢查询日志分析工具 -- mysqlsla ,
                     pt-query-digest.,mysqldumpslows,
              3、每天晚上0:00定时分析慢查询,发到核心开发,DBA分析,及高级运维,CTO邮箱。
              DBA分析给出优化建议--> 核心开发确认更改--->DBA上线操作。   
       b、大的复杂的SQL语句的拆分为多个小的SQL语句
              子查询,JOIN连表查询。一张表数据太大,怎么拆分都有问题。需要拆表,拆库
       c、数据库是存储数据的地方,但是不是计算数据的地方。
              计算,应用类处理,都要拿到前端应用解决,禁止在数据库上处理。
       d、搜索功能,like "%iyunv%" ,一般不要使用MySQL数据库。
4、架构上的优化
a)        业务拆分: 搜索功能,like"%iyunv%" ,一般不要使用MySQL数据库。
b)       业务拆分:某些业务应用使用nosql持久化分出,例如:memcachedb.redis,ttserver.
       例如:粉丝关注,好友关系等等。
c)        数据库前端必须要加cache,例如:memcached,用户登录,商品查询等等。
d)       动态的数据静态化,整个文件静态化,页面片段静态化
e)        数据库集群与读写分离,一主多从,通过程序或者dbproxy进行集群读写分离。
f)        单表查过2000万了,拆库拆表,不同的请求分到不同的机器上面,前面hash取模。
5、流程,制度,安全优化。
       任何一次认为数据库记录的更新都要走一个流程:
       人的流程:开发 --> 核心开发确认 --> 运维或DBA
       测试的流程:开发人员内网测试 --> IDC测试 --> 线上执行。
       客户端的管理,客户端PHPmyadmin。客户端访问控制。防患于未然



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-124039-1-1.html 上篇帖子: mysql基本操作 下篇帖子: 快速部署mysql高可用方案:heartbeat + drbd + mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表