這幾天,運營那邊老報app卡頓,大量5**報錯。通過排查,是mysql數據庫卡住了,數據庫錯誤日誌看,有大量如下信息:
企圖修改數據庫選項文件/etc/my.cnf相關的值,來消除問題,效果甚微,修改的兩項如下:
interactive_timeout=120 connect_timeout=120 |
接着看系統的負載,用top指令,輸出如下:
Load飆升,IO也很異常。查mysql的連接數,登錄mysql,用指令 “show processlist;”查看,峯值在300個左右,遠低於設定值3000.
磁盤io爲啥會這麼高呢?莫非是磁盤性能問題?數據庫由一主兩從組成,數據存放在單獨的高效雲盤。還是來測一下所謂高效雲盤的讀取性能,然後與自有的物理服務器做過對比。
測試磁盤性能我選用hdparm,最小安裝的centos 7可能沒有這個包,執行指令“yum install hdparm”很容易就安裝上了。
² 系統磁盤掛接情況
² 測試本地盤讀取性能
速度是103M每秒,多測幾次,減少偏差。
² 高效雲盤讀取性能測試
讀取速度130M每秒的樣子,感覺這個速度不是很理想。找一臺自有的線上物理服務器進行對比測試,sas盤,15000轉容量爲600G的系統。
² 物理機磁盤狀況
² 物理機系統磁盤讀取測試
平均400M每秒鐘。
² 物理機數據盤讀取測試
每秒鐘讀取速度390M。
所謂高效雲盤,才100多M每秒,差距好大呢!再試試高效雲盤加緩存方式的讀取,得到如下的輸出:
由此可以大致推斷,所謂的高效雲盤,很可能是sata垃圾盤,前邊加ssd緩存,我呸!!經阿里雲早期實施工程師確認,還真是這樣啊!