mysql调优小记

这几天双11服务器上的mysqld进程cpu占用率突然变得不稳定,有时会飙到50%以上。考虑到服务器配置还有系统访问压力,这种情况应该是不合理的。

首先调高了mysql的一些缓存配置。但是cpu占用率还是没有稳定下来。

开启了慢查询,发现存在不少1-6s执行时间的SQL语句。通过优化语句,优化索引,大部分SQL语句执行速度得到了提高。

但是mysqld进程cpu占用率还是没有稳定下来

通过status命令查看,发现当前threads大概就是4-6个左右。平均每秒查询数在30-50之间。

于是想是不是每秒执行太多查询导致的。

后来找到thread_concurrency参数,当时的值是10.调为40然后重启mysqld后。发现cpu占用率稳定下来了,最高跳到15左右。

但是这里有些疑问,那就是 是不是真的是调节这个参数而好转的 。因为这个参数的意思应该是线程并发数量,如果这个值低了,那最多造成线程阻塞,而线程阻塞的话反而应该不会占用那么高的cpu才对。另外百度了下thread_concurrency这个参数的资料,好像在5.6.1的版本里被废除了(我使用的是5.5的版本)

当时事情比较紧急,并没有把该参数修改回原值,来测试下,是不是这个参数引起的问题。

谨记!

你可能感兴趣的:(mysql调优小记)