一次容器MySQL的效能問題排查

to_be_Dba發表於2021-12-01

最近兩天一套生產MySQL叢集出現了效能問題。業務側的同事通過pinpoint監控,發現某幾個時間點出現大量的超時/慢SQL。

我們通過dodba監控能看到慢查詢集中在幾秒鐘內,而不是一直都慢,當時的活動執行緒數也有飆升。


首先懷疑是否是某個賬號的定時任務。

對慢查詢日誌中賬號/庫名的出現次數進行統計:

也就是說,業務較為繁忙的庫都出現了慢查詢。更進一步檢視,會發現大量主鍵查詢、insert操作都很慢。

並且出現的時間也不是完全規律性的。因此排除了定時任務的可能性。


對資源使用情況進行分析,CPU和記憶體都在正常範圍內,頻繁出現磁碟使用率100%的問題。

通過prometheus看到所在物理機上各個容器的CPU和記憶體使用率正常,但某個容器的“容器交換空間使用量”存在波動,且波形與我們的效能問題基本吻合。

找到對應的同事詢問啟動時間,與問題開始的時間也能對上,算是基本確認原因了。

由於這是一個日誌收集的元件,且不能進行限速,找領導申請停的話大概率也是不同意的,暫定資料庫問題的處理方式為:

  1. 擇機將MGR叢集的主節點切換到其他不繁忙的物理機上

  2. 申請停機視窗,將該套MySQL遷移到物理機上,避免資源爭用造成問題

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26451536/viewspace-2845254/,如需轉載,請註明出處,否則將追究法律責任。

相關文章