如何有效优化Mysql瓶颈
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,下文给大家带来关于如何有效优化Mysql瓶颈,感兴趣的话就一起来看看这篇文章吧,相信看完如何有效优化Mysql瓶颈对大家多少有点帮助吧。Mysql 瓶颈优化(从小业务到大业务的转变)假设一个网站(di
千家信息网最后更新 2024年11月30日如何有效优化Mysql瓶颈
下文给大家带来关于如何有效优化Mysql瓶颈,感兴趣的话就一起来看看这篇文章吧,相信看完如何有效优化Mysql瓶颈对大家多少有点帮助吧。
Mysql 瓶颈优化(从小业务到大业务的转变)
假设一个网站(discuz)从最开始访问量很小做到日pv千万,我们来推测一下它的mysql服务器架构演变过程。
1. 第一阶段
网站访问量日pv量级在1w以下。单台机器跑web和db,不需要做架构层调优(比如,不需要增加memcached缓存)。此时,数据往往都是每日冷备份的,但有时候如果考虑数据安全性,会搭建一个mysql主从。
2. 第二阶段
网站访问量日pv达到几万。此时单台机器已经有点负载,需要我们把web和db分开,需要搭建memcached服务作为缓存。也就是说,在这个阶段,我们还可以使用单台机器跑mysql去承担整个网站的数据存储和查询。如果做mysql主从,目的也是为了数据安全性。
3. 第三阶段
网站访问量日pv达到几十万。单台机器虽然也可以支撑,但是需要的机器配置要比之前的机器好很多。如果经费允许,可以购买配置很高的机器来跑mysql服务,但是并不是说,配置翻倍,性能也翻倍,到了一定阶段配置增加已经不能带来性能的增加。所以,此阶段,我们会想到做mysql服务的集群,也就是说我们可以拿多台机器跑mysql。但,mysql的集群和web集群是不一样的,我们需要考虑数据的一致性,所以不能简单套用做web集群的方式(lvs,nginx代理)。可以做的架构是,mysql主从,一主多从。为了保证架构的健壮和数据完整,主只能是一个,从可以是多个。还有一个问题,我们需要想到,就是在前端web层,我们的程序里面指定了mysql机器的ip,那么当mysql机器有多台时,程序里面如何去配置?discuz,其实有一个功能,支持mysql读写分离。即,我们可以拿多台机器跑mysql,其中一台写,其他多台是读,我们只需要把读和写的ip分别配置到程序中,程序自动会去区分机器。当然,如果不使用discuz自带的配置,我们还可以引用一个软件叫做 mysql-proxy, 使用他来实现读写分离。它支持一主多从的模式。
4. 第四阶段
网站访问量日pv到几百万。之前的一主多从模式已经遇到瓶颈,因为当网站访问量变大,读数据库的量也会越来越大,我们需要多加一些从进来,但是从的数量增加到数十台时,由于主需要把bin-log全部分发到所有从上,那么这个过程本身就是一件很繁琐的事情,再加上频繁读取,势必会造成从上同步过来的数据有很大延迟。所以,我们可以做一个优化,把mysql原来的一主多从变为一主一从,然后从作为其他从的主,而前面的主只负责网站业务的写入,而后面的从不负责网站任何业务,只负责给其他从同步bin-log。这样还可以继续多叠加几个从库。
5. 第五阶段
网站访问量日pv到1千万的时候,我们发现,网站的写入量非常大,我们之前架构中只有一个主,这里的主已经成为瓶颈了。所以,需要再近一步做出调整。比如,我们可以把业务分模块,把用户相关的单独分离出来,把权限、积分等也可以分离出来单独跑一个库,然后再做主从,也就是所谓的分库。当然也可以换一个纬度,把访问量或者写入量大的表单独分离出来,跑在一台服务器上,也可以把一个表分成多个小表。这一步操作,涉及到一些程序上的改动,所以需要事先和开发同事做好沟通和设计。总之,这一步要做的就是分库分表。
再往后发展,继续把大表分小表即可。 而国内阿里淘宝网站的数据量是巨量的,他们的数据库全部都是mysql,他们的mysql架构就是遵循分库分表这个原则的,只不过他们划分规则会有很多纬度,比如可以根据地域划分,可以根据买家、卖家划分,可以根据时间划分等等。
看了以上关于如何有效优化Mysql瓶颈详细内容,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。
机器
网站
数据
阶段
访问量
配置
瓶颈
架构
业务
程序
服务
主从
多台
就是
集群
有效
也就是
分库
安全
也就是说
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
十大网络安全证书
不良网络安全专业就业前景
服务器安全狗拉黑
数据库网络配置失败
国外全文数据库优点
非关系型数据库 银行
cod6在哪看服务器
数学家对软件开发的作用
公司网络技术培训
怎么链接阿里云数据库
幻想纵横网络技术有限公司
lenovo服务器电话
服务器安全狗百度贴吧
2021网络安全知识答题
网络安全宣传青少年之体会
网络安全预警管理体系认证费
财务软件服务器被黑
维普数据库的查看同义词功能
洪湖市计算机软件开发学校
海南息垚网络技术有限公司
北京云达网络技术有限公司
软件开发版本发布检测工具
嘉定区标准网络技术多少钱
讯云服务器
异次元主公服务器互通吗
get是请求数据库的吗
软件开发 用例
值班人员检查网络安全情况登记表
扩苗网络安全课要求写
网络安全条例 翻墙