1. 程式人生 > >Dubbo接口壓測

Dubbo接口壓測

ati 新版本 all 接口調用 1.4 jmeter 直連 工作 數列

在每年的雙十一大促之前,除了全鏈路壓測,還需要各個業務方對自己業務提供的核心接口進行單接口壓測,以評判系統的穩定性和承壓能力。

一、準備工作

  1. 環境準備:確保應用性能環境(perf)正常可用
  2. 壓測接口梳理:通過 ops平臺 - 應用 - 監控模塊 [示例] 獲取頻繁訪問的接口,確定需要壓測的接口列表
  3. 測試數據準備:根據接口請求的參數列表,從qa庫中撈取需要的測試數據,導出到csv備用

二、壓測腳本編寫(jmeter版本3.2)

A: Nova或Dubbo接口

  1. 這類接口的壓測需要借助jmeter的高級功能,通過jar包的方式執行dubbo接口
  2. 腳本編寫參考 [email protected]:qa/bit-performance.git 工程,原理就是使用jmeter提供的插件,獲取jmeter中配置的參數,並執行dubbo接口調用和預期的返回結果校驗。其中要直連perf環境的ip:port
  3. 腳本編寫完並且測試通過之後,打包 (mvn clean install -e -U -Dmaven.test.skip -Pperf -Denvironment=perf)
  4. 將打包的文件copy到 jmeter目錄下的 ../lib/ext/ 目錄
  5. 啟動jmeter,創建一個Simpler為java的請求時,即可加載我們配置的jar
  6. 將參數設置為從csv文件獲取,這裏需要註意幾點:
    1. 如果csv文件中第一行有標題,那需要Ignore first line
    2. 在本地調試腳本的時候,cas的路徑是本地相對路徑,如果上傳到壓測平臺時,需要修改為和jmx文件的相對路徑,即相同路徑
    3. 如果你不需要將csv中的參數增加引號,設置Allow quoted data為false

技術分享圖片技術分享圖片技術分享圖片

B: Http接口

  1. http接口不需要額外寫請求工程,直接配置jmx文件
  2. 其他內容和dubbo接口類似

C:壓力模型配置

  1. jmeter插件支持Concurrency Thread Group,需要添加jar包
    1. 官方最新版本:jmeter-plugins-cmn-jmeter-0.4.jar
    2. 可用低版本:jmeter-plugins-standard-1.4.0.jar

      技術分享圖片

  2. 使用原生的壓力模型

三、壓測平臺執行

參考性能測試平臺使用幫助 和 性能測試平臺如何獲取監控數據,保證能正確使用性能平臺,並且能獲取監控數據

    1. 設置好業務線、應用,並配置測試計劃,將所有需要的dubbo壓測腳本jar、jmx、csv、依賴的concurrency jar包全部上傳到測試計劃中
      技術分享圖片
    2. 測試任務中,需要配置應用機器和進程號,以確認能收集到正確數據
      技術分享圖片
    3. 查看壓測結果,看qps、rt、系統負載、錯誤率,評估性能

Dubbo接口壓測