云服務器的性能是我們挑選云主機的最重要的指標
一般來說,性能測試要統一考慮這么幾個因素:Thoughput吞吐量,Latency響應時間,資源利用(CPU/MEM/IO/Bandwidth…),成功率,系統穩定性。
下面的這些性能測試的方式基本上來源自我的老老東家湯森路透,一家做real-time的金融數據系統的公司。
一,你得定義一個系統的響應時間latency,建議是TP99,以及成功率。比如路透的定義:99.9%的響應時間必需在1ms之內,平均響應時間在1ms以內,100%的請求成功。
二,在這個響應時間的限制下,找到最高的吞吐量。測試用的數據,需要有大中小各種尺寸的數據,并可以混合。最好使用生產線上的測試數據。
三,在這個吞吐量做Soak Test,比如:使用第二步測試得到的吞吐量連續7天的不間斷的壓測系統。然后收集CPU,內存,硬盤/網絡IO,等指標,查看系統是否穩定,比如,CPU是平穩的,內存使用也是平穩的。那么,這個值就是系統的性能
四,找到系統的極限值。比如:在成功率100%的情況下(不考慮響應時間的長短),系統能堅持10分鐘的吞吐量。
五,做Burst Test。用第二步得到的吞吐量執行5分鐘,然后在第四步得到的極限值執行1分鐘,再回到第二步的吞吐量執行5鐘,再到第四步的權限值執行1分鐘,如此往復個一段時間,比如2天。收集系統數據:CPU、內存、硬盤/網絡IO等,觀察他們的曲線,以及相應的響應時間,確保系統是穩定的。
六、低吞吐量和網絡小包的測試。有時候,在低吞吐量的時候,可能會導致latency上升,比如TCP_NODELAY的參數沒有開啟會導致latency上升,而網絡小包會導致帶寬用不滿也會導致性能上不去,所以,性能測試還需要根據實際情況有選擇的測試一下這兩咱場景。
作者:zhushican 分類:六六互聯 日期:2021年11月08日 瀏覽:522 評論:0