業務系統 Over 阿里雲性能壓測的最佳實踐

業務系統性能壓測的最佳實踐

壓測工具的選擇

目前主流的壓測工具備安全

  1. ab
  2. Jmeter
  3. 阿里雲PTS併發

如何來選擇呢,咱們建議若是是簡單壓測,能夠直接使用ab來進行,它能夠經過一條命令來快速的發起指定併發數的請求。但若是須要進行復雜的壓測,建議使用後二者:工具

Jmeter是開源的壓測工具,能夠實現很是複雜的壓測需求,好比設定一個包含不少URL的場景、配置一個施壓集羣來發起壓測測試等等,而阿里雲PTS服務,相較於Jmeter增長了許多獨特的功能,好比:性能

  1. 施壓流量來自真實CDN節點,最大限度模擬真實流量的路徑
  2. 純SaaS,無需額外安裝和部署
  3. 兼容Jmeter腳本,能夠平滑的複用以前的jmx腳本文件
  4. 配置界面所見即所得,對於新手很是友好

因此,咱們建議你們根據實際的壓測需求來選擇壓測工具。另外,若是您對PTS感興趣,能夠前往PTS控制檯進一步瞭解。測試


阿里雲上業務壓測流程上的注意事項

施壓前

  1. 對業務系統容量有一個預估,好比QPS、併發用戶量
  2. 肯定好壓測時間和壓測環境,儘可能不要直接對生產環境壓測,避免影響業務
  3. 若鏈路上存在SLB,建議至少使用4臺施壓機來壓測,施壓機越多,SLB的轉發會越均衡
  4. 合理安排施壓機的壓測能力,若單臺施壓機沒法知足施壓需求,能夠構建Jmeter施壓集羣或者使用PTS進行壓測
  5. 若鏈路上存在安全模塊,如高防、Web應用防火牆等,建議對施壓機的源IP添加白名單,避免施壓機被安全模塊攔截優化

施壓中

  1. 密切關注被壓測的模塊的各項監控
  2. 當出現瓶頸時就能夠考慮中止或延遲若干分鐘中止壓測,避免產生無效的壓測流量阿里雲

施壓後

  1. 結合業務數據對施壓結果進行分析,肯定系統是否能夠達到預期的目標
  2. 出現瓶頸後,須要及時優化業務程序

壓測結果相關

如何判斷目標系統是否出現瓶頸?

判斷瓶頸的方法很是多,比較簡單的方法之一是增長併發用戶數量,查看目標系統的TPS是否同步上漲,若是沒有出現增長,甚至出現了降低,說明業務系統處理每一個請求的時間變長,能夠近似理解爲此時的業務系統就出現了瓶頸。spa

併發用戶、RPS、TPS如何解讀

名詞的定義千差萬別,但歸根結底的形容都是相似的,如下能夠做參考:部署

併發用戶:施壓機上同時去請求的用戶數量,好比500個併發用戶,配置的施壓目標是串行的兩個URL,那麼施壓過程當中,就會有500個客戶端,不停地去請求URL 1和URL 2,用戶之間的請求互不影響,併發的請求,而每一個用戶是先請求URL 1,獲得結果後在請求URL 2,獲得結果後再循環請求URL 1,以此類推。get

RPS:在PTS中,RPS被定義爲施壓機每秒發出的請求數

TPS:在PTS中,TPS被定義爲壓測目標每秒執行的事物數,若目標系統是基於HTTP(S),能夠理解爲每秒可以執行多少HTTP請求。

那麼有的同窗會問了,TPS和RPS有什麼差異呢?在正常狀況下,RPS的數值近似等同於TPS,TPS對於一個系統來講,是恆定的,但只要施壓機性能還夠,RPS還能夠提高,只是此時目標系統已經沒法處理,可能會出現鏈接失敗、請求超時等異常的響應,那麼此時,RPS是大於TPS的,須要及時中止施壓並分析目標系統爲什麼會出現異常。

 

閱讀原文

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索