基於chaosblade的故障注入平臺小試

當今社會互聯網應用愈來愈普遍,用戶量日益劇增。在人們對互聯網服務的依賴性增大的同時,也對服務的可用性和體驗感有了更高的要求。那麼如何保障服務在運營過程當中能一直給用戶提供穩定的、不間斷的、可靠可信的服務呢?linux

例如一個教育或者加金融系統產品,若是線上出現了故障,那麼可能帶來巨大的損失。因爲金融產品或者教育類系統架構和業務邏輯是至關複雜和鏈條廠,所以咱們測試工程師經過單元測試、接口測試、集成測試、性能測試等來驗證服務的穩定性。但儘管如此,也是遠遠不夠的,由於錯誤能夠在任什麼時候間以任何形式發生,尤爲是對分佈式系統。因此如今不少公司開始引入混沌工程(餛飩工程國內最佳實踐公司目前是阿里,你們有興趣能夠去網上看下阿里混沌工程相關實踐經驗),因爲混沌工程須要不斷的投入和積累,因此咱們測試部門爲了模仿和預防線上故障演練,能夠先進行故障注入演練,這樣成本最小,收益也最大化。git

阿里按照優先分析P1和P2故障,按照IaaS、PaaS、SaaS層的角度繪製了故障畫像,以下圖:github

 

 

 目前業內模擬故障的工具比較多樣化,支持的功能和場景也各有優劣。經過對比來看,chaosblade支持功能和場景比較豐富,同時社區也是比較活躍的,咱們能夠選擇這個嘗試一下微信

 

 

 

chaosblade 所支持的場景,能夠參考文檔:架構

https://chaosblade-io.gitbook.io/chaosblade-help-zh-cn/分佈式

 

 

 

下面進行簡單的故障模擬工具

下載路徑:性能

https://github.com/chaosblade-io/chaosblade/releases單元測試

解壓即用,無需安裝測試

tar -zxvf chaosblade-0.9.0.linux-amd64.tar.gz

CPU壓力注入:

 

 

 結果以下:

 

 

 內存壓力注入:

 

 

效果以下:

 

 

 磁盤壓力注入:

 

 

 效果以下:

 

 

 網卡故障注入:

 

 

 觀察接口的話,能看到接口響應時間明顯變長:

 

 

 以上只是chaosblade最基本的故障注入演示,其餘演練你們能夠自行嘗試,特別是服務層的故障注入演練做爲咱們測試同窗是應該重點去關注和優先去嘗試的,再次強烈建議你們在公司內部嘗試服務層故障注入演練~

你們若是對故障演練有什麼疑問或者研究的能夠添加管理員微信,一塊兒交流探討。

 

相關文章
相關標籤/搜索