常见的间歇性故障:
memcached缓存中的一些重要条目过期,导致大量的请求落在MySQL以重新生成缓存条目
DNS查询超时
可能是互斥锁的争用导致
一、使用show global status
可以定期执行show global status(例如每秒执行一次)捕获数据,如果问题出现,则就可通过结果集中的某些计数器(如:Thread_runing--运行进程数、Threads_connected--进程连接数、Queries--每秒查询数)。对服务器性能影响小,耗时短。
运行脚本如下:
[root@alex ~]# mysqladmin ext -i1 |awk '/Queries/{q=$4-qp;qp=$4} /Threads_connected/{tc=$4} /Threads_running/{printf "%5d %5d %5d\n",q,tc,$4}'
/*每秒统计一次数据*/
1166 1 1
1 1 1
1 1 1
1 1 1
可以捕获多天的数据将结果绘制成为图表,方便定位。