詳解MySQL數(shù)據(jù)庫監(jiān)控指標(biāo)之連接狀態(tài)
概述
如果你的數(shù)據(jù)庫運(yùn)行緩慢,或者出于某種原因無法響應(yīng)查詢,技術(shù)棧中每個依賴數(shù)據(jù)庫的組件都會遭受性能問題。為了保證數(shù)據(jù)庫的平穩(wěn)運(yùn)行,你可以主動監(jiān)控?cái)?shù)據(jù)庫的連接情況。
連接情況
監(jiān)控客戶端連接情況相當(dāng)重要,因?yàn)橐坏┛捎眠B接耗盡,新的客戶端連接就會遭到拒絕。

MySQL 提供了 Threads_connected 指標(biāo)以記錄連接的線程數(shù)——每個連接對應(yīng)一個線程。通過監(jiān)控該指標(biāo)與max_connections的連接限制,你可以確保服務(wù)器擁有足夠的容量處理新的連接。MySQL 還提供了Threads_running 指標(biāo),幫助你分隔在任意時(shí)間正在積極處理查詢的線程與那些雖然可用但是閑置的連接。
如果服務(wù)器真的達(dá)到 max_connections 限制,它就會開始拒絕新的連接。在這種情況下,Connection_errors_max_connections 指標(biāo)就會開始增加,同時(shí),追蹤所有失敗連接嘗試的Aborted_connects 指標(biāo)也會開始增加。
Connection_errors_internal 是個很值得關(guān)注的指標(biāo),因?yàn)樵撝笜?biāo)只會在錯誤源自服務(wù)器本身時(shí)增加。內(nèi)部錯誤可能反映了內(nèi)存不足狀況,或者服務(wù)器無法開啟新的線程。
相關(guān)命令

Threads_connected 跟show processlist結(jié)果相同,表示當(dāng)前連接數(shù)。準(zhǔn)確的來說,Threads_running是代表當(dāng)前并發(fā)數(shù)。
以下是查詢最大連接數(shù):

可以在/etc/my.cnf里面設(shè)置數(shù)據(jù)庫的最大連接數(shù)
- [mysqld]
- max_connections = 1000
max_connections 參數(shù)用于控制數(shù)據(jù)庫的最大連接數(shù)。
覺得有用的朋友多幫忙轉(zhuǎn)發(fā)哦!后面會分享更多devops和DBA方面的內(nèi)容,感興趣的朋友可以關(guān)注下~