如何优化因 MYSQL 读写频繁,负载过高导致的CPU高占用率

如何优化因 MYSQL 读写频繁,负载过高导致的CPU高占用率,第1张

1.show processlist 语句,查找负荷最重的 SQL 语句,优化该SQL,比如适当建立某字段的索引;

2.开启慢查询,找到性能瓶颈点的SQL语句,然后使用explain,看看该语句是否可以优化;

3.在多用户,高并发的情况下,任何系统都会hold不住的,所以,使用缓存是必须的,就向楼上说的memcached,或者redis,这些都可以;

4.打开配置文件,看看tmp_table_size大小是否偏小,如果允许,适当的增大一点;

5.如果max_heap_table_size配置的过小,增大一点;

利用mysql proxy来实现的。

MySQL Proxy最强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。 当然,主服务器也可以提供查询服务。使用读写分离最大的作用无非是环境服务器压力。

读写分离的前提是:主从同步。也就是需要2台以上的数据库服务器,分别安装部署好MySQL服务。然后,再在其中一台选择为主库,另外一台选择为从库。主库可以读写,丛库只能读。

然后再基于mycat中间件和mysql进行集成来实现读写分离。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8614209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存