數據庫場景下,由于操作系統某些進程操作(比如磁盤、網絡等)占用I/O帶寬過高,造成應用因為I/O帶寬不足產生性能劣化的問題,如何快速、準確地診斷應用性能問題,并對問題進行定界定位是運維人員的重要挑戰。
案例一
GaussDB應用磁盤IO類故障在線診斷
該案例通過對Gaussdb應用注入磁盤IO故障來模擬。
1
故障注入前
應用實時拓撲關系如下圖所示,gaussdb應用包含1個master(進程id:1548)和1個slaver(進程id:1739),運行在虛擬機vm02上,gaussdb master有5個客戶端TCP連接。
此時,gaussdb的應用性能如下圖所示,平均600 TPS。
2
注入故障
在gaussdb的數據目錄注入磁盤讀寫故障,命令如下:blade create disk burn --read --write --path /data --timeout 120
3
應用性能診斷
此時應用性能出現劣化,從大概600 TPS → 60 TPS,下降了近10倍,如下圖所示:
故障發現與定位結果如下圖所示,可以看出已產生應用性能劣化事件,原因是磁盤讀寫響應異常。
具體的故障傳播關系如下圖所示,可見應用性能劣化是因為磁盤寫響應異常以及block層request時延異常,進一步的磁盤類異常是由于故障注入工具chaos(進程id:3941335)導致。
案例二
Redis應用網絡時延類故障在線診斷
1
注入故障
通過故障注入工具ChaosBlade注入2分鐘網絡時延故障,具體命令:blade create network delay --time 50 --offset 50 --interface ens1 --local-port 3742 --timeout 120
故障注入期間redis sli指標出現明顯劣化,大概從10ms → 80ms
2
應用性能診斷
故障發現與定位結果如下圖所示,可以看出已產生應用性能劣化事件,原因是網絡時延異常。
具體的故障傳播關系如下圖所示,可見應用性能劣化是因為網絡時延異常導致。
審核編輯 :李倩
-
操作系統
+關注
關注
37文章
6740瀏覽量
123190 -
磁盤
+關注
關注
1文章
367瀏覽量
25177 -
數據庫
+關注
關注
7文章
3765瀏覽量
64276
原文標題:A-Ops 數據庫場景在線應用性能診斷案例
文章出處:【微信號:openEulercommunity,微信公眾號:openEuler】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論