服務器發生間歇性問題時的定位思路

常見的間歇性故障:mysql

  • memcached緩存中的一些重要條目過時,致使大量的請求落在MySQL以從新生成緩存條目sql

  • DNS查詢超時shell

  • 多是互斥鎖的爭用致使緩存

1、使用show global status服務器

能夠按期執行show global status(例如每秒執行一次)捕獲數據,若是問題出現,則就可經過結果集中的某些計數器(如:Thread_runing--運行進程數、Threads_connected--進程鏈接數、Queries--每秒查詢數)。對服務器性能影響小,耗時短。memcached

運行腳本以下:性能

[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

能夠捕獲多天的數據將結果繪製成爲圖表,方便定位。
code

相關文章
相關標籤/搜索