混沌工程之混沌測試平臺
為什麼需要混沌工程。應用混沌工程能提升整個系統的彈性。通過設計並且進行混沌實驗,我們可以瞭解到系統脆弱的一面,在還沒出現對使用者造成傷害之前,我們就能主動發現這些問題。
混沌工程其實是很重要的,但我之前一直以為混沌工程就是測試,但它們還是有區別的。雖然混沌工程跟傳統測試通常都會共用很多測試工具的,譬如都會使用錯誤注入工具,但混沌工程是通過實踐對系統有更新的認知,而傳統測試則是使用特定方式對某一塊進行特定測試。譬如在傳統測試裡面,我們可以寫一個斷言,我們給定特定的條件,產生一個特定的輸出,如果不滿足斷言條件,測試就出錯了,這個其實是具有很明確的特性。但混沌工程是試驗,而試驗會有怎樣的新資訊生成,我們是不確定的。
https://www.jianshu.com/p/4bd4f88e24e4
混沌測試平臺 Chaos Mesh
一款用於測試kubernetes環境的工具。通過人為地在叢集中注入故障來檢測叢集對故障的處理以及恢復能力。更詳細資訊可以檢視這篇文章。混沌測試與針對某個應用測試的區別為:前者更傾向於在現有大規模叢集中進行測試,影響因素可能來自叢集中的方方面面;而後者更專注於對應用本身功能的測試。
GitHub上目前有兩款star數高的混沌專案,litmus和chaos-mesh,這兩款的功能和場景都基本類似,前者目前提供的混沌注入功能比較多,但後者提供了簡單的UI介面。兩者都可以擴充套件自定義的場景。
一、模擬網路堵塞的情況測試
1. 使用工具模擬網路延遲高,網路丟包現象
2. 綠色工具clumsy可以模擬不穩定的網路環境
http://www.greenxf.com/soft/201494.html
二、模擬檔案系統使用100%的主機情況
1. stress命令工具使用指南
https://blog.csdn.net/whatday/article/details/104477160/
三、模擬IO使用率高的主機情況
1.人工製造
https://blog.csdn.net/heavenmark/article/details/82805260
四、模擬cpu使用率高的主機環境
五、阿里巴巴的混沌測試工具:
https://blog.csdn.net/qq_34219959/article/details/97395196
參考
https://www.csdn.net/tags/MtzaggysMjMyNjYtYmxvZwO0O0OO0O0O.html