jmeter接口性能測試--定時器使用


一、性能測試概述

1.1 概述

模擬各種正常的、峰值的測試環境,檢測程序的各項性能指標是否達標。
如模擬系統半小時內2000個用戶進行登錄操作。
性能指標:如要求登錄請求的響應時間在3秒鍾以內。

1.2 作用

1、項目立項初期幫助技術選型
2、測試當前程序所能支持的最大負載
3、發現系統中的性能瓶頸,提高資源利用率
4、提升用戶體驗
.......

1.3 實現

使用jmeter的定時器實現時間的性能測試

二、同步定時器--模擬高並發

2.1 測試步驟

例:同一時刻,100個用戶訪問登錄接口,統計高並發情況下平均響應時間以及錯誤率
1、新建測試計划、測試組、取樣器、結果樹,指定線程組的線程數為100,模擬100個用戶:

2、添加定時器的synchronizing timer(同步定時器),實現同時訪問:

3、運行測試計划,即可實現100個用戶並發訪問登錄接口

4、通過聚合報告組件,可以對結果進行匯總分析

5、再次點擊運行測試計划,在聚合報告中查看結果

2.2 同步定時器參數詳解

當線程組中設置的線程數(用戶數)不能整除同步定時器中設置的“模擬用戶組的數量”,且超時時間為0時,會導致程序掛起,即運行測試計划后無法結束運行。

如線程組設置的線程數為100,同步定時器的“模擬用戶組的數量”設置為30,超時時間為0,此時運行測試計划后,程序就會掛起,將會還剩10個線程無法運行:

如何避免程序掛起

方式一:修改“模擬用戶組的數量”,使得線程組用戶數能夠被整除;
方式二:設置定時器的超時時間,如設置超時時間為5000毫秒,即使線程組的線程數不能被整除,一旦過了超時時間,程序就會執行完剩余的線程。

三、常量吞吐定時器--設置接口訪問頻率

3.1 步驟

例:一個用戶以20QPS(20次/秒)的頻率訪問服務器的登錄接口,持續15秒,統計服務器的平均響應時間

1、新建測試計划、線程組、取樣器、聚合報告,設置相關測試參數
循環次數 = 訪問頻率 * 持續時間

2、添加常量吞吐定時器

3、運行測試計划,查看匯總結果

四、分布式性能測試實現

多台機器協作,以集群的方式完成性能測試,提高測試效率。
如峰值時期有30000個用戶訪問系統,一台測試機最多支持5000個用戶,可以使用6台測試機竄起來實現30000個用戶訪問

基本架構:

  • 控制機:負責任務分配
  • 執行機:負責任務實現
  • 控制機制定測試任務,並下發到執行機,執行機執行任務並將結果返回給控制機,控制機匯總結果

4.1 分布式測試環境搭建

1、在不同測試機上安裝jmeter
2、配置基礎環境(統一操作系統、JDK、jmeter)
3、配置控制機與執行機之間的通信(端口):

  • 為執行機設置端口號 %JMETER_HOME/bin/jmeter.properties --> server_port=xxx

  • 控制機中設置執行機的IP和端口 %JMETER_HOME/bin/jmeter.properties --> remote_hosts=執行機A的IP:端口,執行機B的IP:端口

  • 設置控制機和執行機遠程訪問相關控制:server.rmi.ssl.disable=true

4.2 分布式性能測試步驟

例:模擬100個用戶操作(默認已經搭建好分布式測試環境)

1、啟動集群機器上的控制機、執行機的jmeter
2、在控制機的jmeter中,新增測試計划、測試組、取樣器、聚合報告(具體步驟同上)
3、設置線程組的線程數,並運行測試計划:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM