基於Jmeter的輕量級接口壓力測試(一)


一.操作步驟:

1.在測試計划下新增一個線程組,並在線程組下新增一個http請求:

 

2.讀取配置文件中的參數:在添加的http請求下添加配置元件-CSV DATA SET CONFIG

 

3.配置待測試的請求參數:需要注意的是如果要輸入協議,就不要在服務器名稱或IP前加http或https了,否則會直接訪問到http://http://上去;如果訪問http接口的時候還需要Header或Cookie,就直接在對應的http請求后添加即可;發送參數的參數值直接通過${參數名}的方式即可調用

 

 

 

 

 

 

4.添加監聽器則是用各種方式記錄測試結果,目前添加表格、聚合報告和查看結果樹即可:

 

5.在線程組中設置同時訪問接口的用戶數量:線程數即為模擬的用戶數量,Ramp-Up Period(in seconds),設置准備時長,每秒鍾啟動的線程數=線程總數/啟動時長,若Ramp-Up Period=0即為並發請求;循環次數為每個線程發送請求的次數

 

點擊啟動,即可開始測試

 

二.結果分析:

1.聚合報告各個字段的含義:

 

Label :各個模擬測試的名稱

#Samples :各個測試的樣本總數,樣本總數=用戶數×迭代次數

Average :每個請求的平均響應時間

Median :中值,即50%請求的平均響應時間

90%Line :90%請求的響應時間,指90%的請求小於某個時間點

Min :最小響應時間 ,Max :最大的響應時間

Error% :錯誤響應的概率。即無法響應的概率。

ThroughPut :吞吐量 -- 默認情況下表示每秒完成的請求數(Request per Second)。

KB/Sec :每秒從服務器端接收到的數據量,相當於LoadRunner中的Throughput/Sec

2.結果樹種記錄的有各次發送請求的請求入參與請求,可以根據在斷言監聽器中加入斷言字段驗證接口返回結果;不過需要注意的是結果樹中的請求參數是通過URL編碼的

 

使用結果樹可以看到接口返回的值,也可以用來做接口測試。

3.圖形結果分析:

樣本數目是總共發送到服務器的請求數。
最新樣本是代表時間的數字,是服務器響應最后一個請求的時間。
吞吐量是服務器每分鍾處理的請求數。
平均值是總運行時間除以發送到服務器的請求數。
中間值是代表時間的數字,有一半的服務器響應時間低於該值而另一半高於該值。
偏離表示服務器響應時間變化、離散程度測量值的大小,或者,換句話說,就是數據的分布。

 

左上角的時間:可以理解為在所有的運行次數中,90%的運行結果都在0~左上角數字的區間里

The value displayed on the top left of graph is the max of 90th percentile of response time(Jmeter文檔)

LoadRunner文檔的描述:

Solution: The 90th percentile is the value for which 90% of the data points are smaller

The 90th percentile is a measure of stastical distribution, not unlike the median. The median is the middle value. The median is the value for which 50% of the values were bigger, and 50% smaller. The 90th percentile tells you the value for which 90% of the data points are smaller and 10% are bigger.

Statistically, to calculate the 90th percentile value:

1. Sort the transaction instances by their value.

2. Remove the top 10% instances.

3. The highest value left is the 90th percentile.

 

 

三.使用Jmeter監測服務器性能指標:

下載 PerfMon插件,該插件包括兩個部分:

1.ServerAgent:

ServerAgent放在被壓測的服務器上,是用來收集服務器相關性能指標(cpu、memory、tcp等)、以及jmx等metrics信息,然后通過 TCP or UD協議來發送給jmeter。啟動后,默認監聽4444端口,ServerAgent是一個文本協議,可以使用任何客戶端發送/接收metrics數據信息。

只需要將SeverAgent添加到服務器上然后再啟動即可。

2.The Metrics Collector Listener

The Metrics Collector Listener是在jmeter上運行的插件,用來收集agent發送的metrics信息,展示圖表的。

下載地址:(https://jmeter-plugins.org/?search=jpgc-perfmon),加壓后,把lib里的兩個jar拷貝到jmeter的lib目錄,吧lib/ext里面的兩個jar拷貝到jmeter的lib/ext目錄。重啟jmeter即可。

在jmeter的添加>監聽器中,可以選在perfMon選項:

添加jp@gc - PerfMon Metrics Collector可用來監控服務器性能數據,可監控的指標有CPU/內存/磁盤IO/網絡IO/TCP/SWAP分區等性能指標

其中,HostIP為被監控服務器的IP,Port為端口號,默認為4444(我喜歡這個數字),Metric parameter則是具體的監控設置

 

 

3.性能指標結果分析:縱軸為性能結果指標,單位為百分比,橫軸為運行時間,單位為秒

 

內存:我的內心毫無波動甚至還想笑


免責聲明!

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



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