业务系统 Over 阿里云性能压测的最佳实践
業務系統性能壓測的最佳實踐
壓測工具的選擇
目前主流的壓測工具有
阿里云PTS
如何來選擇呢,我們建議如果是簡單壓測,可以直接使用ab來進行,它可以通過一條命令來快速的發起指定并發數的請求。但如果需要進行復雜的壓測,建議使用后兩者:
Jmeter是開源的壓測工具,可以實現非常復雜的壓測需求,比如設定一個包含很多URL的場景、配置一個施壓集群來發起壓測測試等等,而阿里云PTS服務,相較于Jmeter增加了許多獨特的功能,比如:
所以,我們建議大家根據實際的壓測需求來選擇壓測工具。另外,如果您對PTS感興趣,可以前往PTS控制臺進一步了解。
阿里云上業務壓測流程上的注意事項
施壓前
若鏈路上存在安全模塊,如高防、Web應用防火墻等,建議對施壓機的源IP添加白名單,避免施壓機被安全模塊攔截
施壓中
當出現瓶頸時就可以考慮停止或延遲若干分鐘停止壓測,避免產生無效的壓測流量
施壓后
壓測結果相關
如何判斷目標系統是否出現瓶頸?
判斷瓶頸的方法非常多,比較簡單的方法之一是增加并發用戶數量,查看目標系統的TPS是否同步上漲,如果沒有出現增加,甚至出現了下降,說明業務系統處理每個請求的時間變長,可以近似理解為此時的業務系統就出現了瓶頸。
并發用戶、RPS、TPS如何解讀
名詞的定義千差萬別,但歸根結底的形容都是類似的,以下可以作參考:
并發用戶:施壓機上同時去請求的用戶數量,比如500個并發用戶,配置的施壓目標是串行的兩個URL,那么施壓過程中,就會有500個客戶端,不停地去請求URL 1和URL 2,用戶之間的請求互不影響,并發的請求,而每個用戶是先請求URL 1,得到結果后在請求URL 2,得到結果后再循環請求URL 1,以此類推。
RPS:在PTS中,RPS被定義為施壓機每秒發出的請求數
TPS:在PTS中,TPS被定義為壓測目標每秒執行的事物數,若目標系統是基于HTTP(S),可以理解為每秒能夠執行多少HTTP請求。
那么有的同學會問了,TPS和RPS有什么差別呢?在正常情況下,RPS的數值近似等同于TPS,TPS對于一個系統來說,是恒定的,但只要施壓機性能還夠,RPS還可以提升,只是此時目標系統已經無法處理,可能會出現連接失敗、請求超時等異常的響應,那么此時,RPS是大于TPS的,需要及時停止施壓并分析目標系統為何會出現異常
原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的业务系统 Over 阿里云性能压测的最佳实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL用户如何构建实时数仓
- 下一篇: 揭秘2019双11背后的云网络 – 双1