如何优化因 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配置的过小,增大一点;

有很多种方法可以优化:

数据库设置主从,进行读写分离;

数据分表,如按月份分表,需要统计数据就查总表;

优化查询语句,适当增加索引;

字段优化,对不常用或者没有必要的字段可以考虑放在另外一张表里,避免单表数据过大,字段过多。

这个不建议使用负载均衡,而是采用缓存来进行。缓存使用redis,内存数据库,网民每次访问的写入 *** 作,都先存在redis中。另一个程序控制,每隔1min,从redis中把数据同步到mysql中。

这样做有两个好处:

提高写入速度,减小读写压力

即使redis数据丢失,也只是丢失1min内的少量数据。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存