MySQL數(shù)據(jù)庫負(fù)荷較高時(shí)的原因排查思路
MySQL數(shù)據(jù)庫的負(fù)荷較高時(shí),可能的原因有哪些呢?該如何排查呢?本文我們就來介紹一下MySQL數(shù)據(jù)庫負(fù)荷較高時(shí)的排查思路,接下來就讓我們來一起了解一下這一過程吧。
排查思路如下:
1:內(nèi)存是否占用較多swap分區(qū)。
2:i/o壓力大不大,最好把top顯示的信息貼出來。
3:數(shù)據(jù)庫引擎是myisam還是innodb。
4:如果是i/o壓力,反解binlog分析寫入頻繁度。
5:如果不是i/o壓力,采樣查詢請(qǐng)求分析查詢頻繁度。
show status;查看具體的狀態(tài)值,然后對(duì)查出的狀態(tài)值進(jìn)行分析,找出原因并解決。
用nmon監(jiān)控一下,看看磁盤IO,用loadrunner強(qiáng)壓一段時(shí)間。沒有1秒以上的慢查詢,不代表索引就沒問題。解決好索引問題,負(fù)荷應(yīng)該會(huì)降低很多。
iostat -dx 1觀察磁盤讀寫情況,如果有十幾M的讀/寫就要留意了。
vmstat 1看看CPU 的Idle情況 ,如果idle很低,有可能是MySQL的語句很耗CPU。
top看看有啥大損耗的進(jìn)程否。
總結(jié):
1、首先使用最基本的top看看CPU忙在哪里,是iowait嚴(yán)重,還是usr用的多,還是被sys消耗了。
2、再根據(jù)問題使用針對(duì)新監(jiān)測工具如:vmstat,dstat 等工具看看系統(tǒng)最繁忙的是什么設(shè)備。
3、最后再不斷深入,將問題解決。
關(guān)于MySQL數(shù)據(jù)庫負(fù)荷較高的排查思路就介紹到這里了,如果您想了解更多關(guān)于MySQL數(shù)據(jù)庫的知識(shí),可以看一下這里的文章:http://database.51cto.com/mysql/,相信一定可以帶給您收獲的!
【編輯推薦】






