linux中使用Jmeter壓測總結


一、准備工作

1、先在Windows上的JmeterGUI模式)上調試好我們的jmx腳本

2、Linux上安裝好jmeter,並把jmx腳本上傳到linux上面

3、解壓jmeter,進入bin目錄下

 

 

 

二、執行

1、執行命令:jmeter -n -t {測試腳本jmx的路徑} -l {測試jtl生成路徑} -e -o {html測試報告路徑}

其中:

-h 幫助

-n GUI模式

-t 指定要運行的 JMeter 測試腳本文件

-l 記錄結果的文件 每次運行之前,(要確保之前沒有運行過,xxx.jtl不存在,不然報錯)

-r Jmter.properties文件中指定的所有遠程服務器

-e 在腳本運行結束后生成html報告

-o 用於存放html報告的目錄(目錄要為空,不然報錯)

 

 

2腳本性能優化:

2.1使用非GUI模式:jmeter -n -t test.jmx -l result.jtl

2.2少使用Listener, 如果使用-l參數,它們都可以被刪除或禁用。

2.3在加載測試期間不要使用查看結果樹查看結果表監聽器,只能在腳本階段使用它們來調試腳本。

2.4包含控制器在這里沒有幫助,因為它將文件中的所有測試元素添加到測試計划中。]

2.5不要使用功能模式,使用CSV輸出而不是XML

2.6只保存你需要的數據,盡可能少地使用斷言

2.7如果測試需要大量數據,可以提前准備好測試數據放到數據文件中,以CSV Read方式讀取。

2.8用內網壓測,減少其他帶寬影響壓測結果

2.9如果壓測大流量,盡量用多幾個節點以非GUI模式向服務器施壓

 

三、測試報告的解析

1、dashboard界面

 

 

 

 

1Test and Report informations

Source filejtl文件名

Start Time :壓測開始時間

End Time :壓測結束時間

Filter for display:過濾器

Lable:sampler采樣器名稱

 

2APDEX(Application performance Index)

apdex:應用程序性能指標,范圍在0~1之間,1表示達到所有用戶均滿意

T(Toleration threshold):可接受閥值

F(Frustration threshold):失敗閥值

 

3Requests Summary

OK:成功率

KO:失敗率

4Statistics 統計數據

lable:sampler采樣器名稱

 

samples:請求總數,並發數*循環次數

KO:失敗次數

Error%:失敗率

 

Average:平均響應時間

Min:最小響應時間

Max:最大響應時間

90th pct: 90%的用戶響應時間不會超過這個值(關注這個就可以了)

2ms,3ms,4,5,2,6,8,3,9

 

95th pct: 95%的用戶響應時間不會超過這個值

99th pct: 99%的用戶響應時間不會超過這個值 (存在極端值)

throughtput:Request per Second吞吐量 qps

 

received:每秒從服務器接收的數據量

send:每秒發送的數據量

 

 

 

 

 

 

2、Charts

1)Over Time(隨着時間的變化)

Response Times Over Time:響應時間變化趨勢

Response Time Percentiles Over Time (successful responses):最大,最小,平均,用戶響應時間分布

Active Threads Over Time:並發用戶數趨勢

Bytes Throughput Over Time:每秒接收和請求字節數變化,藍色表示發送,黃色表示接受

Latencies Over Time:平均響應延時趨勢

Connect Time Over Time :連接耗時趨勢

 

1)Throughput

Hits Per Second (excluding embedded resources):每秒點擊次數

Codes Per Second (excluding embedded resources):每秒狀態碼數量

Transactions Per Second:即TPS,每秒事務數

Response Time Vs Request:響應時間和請求數對比

Latency Vs Request:延遲時間和請求數對比

 

1)Response Times

Response Time Percentiles:響應時間百分比

Response Time Overview:響應時間概述

Time Vs Threads:活躍線程數和響應時間

Response Time Distribution:響應時間分布圖

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

四、分布式運行

1、Master主機上,不管是Windows還是Linux,都需要更改jmeter.properties

(1) remote_hosts=192.168.25.132:8899,192.168.25.133:8899,192.168.25.134:8899

① 更改Slave(肉雞)的地址,多個肉雞之間用逗號分隔

(2) server_port=8899

① 啟動服務的端口號

(3) server.rmi.ssl.disable=true

① 允許https協議,ssl的開啟

 

2、Slave(肉雞)上的設置,不管是Windows還是Linux,都需要更改jmeter.properties

(1) server_port=8899

① 啟動服務的端口號

(2) server.rmi.ssl.disable=true

① 允許https協議,ssl的開啟

 

3、GUI上啟動遠程測試

 

 

 

4、Linux上啟動遠程測試:-r 使用遠程分布式壓測

jmeter -n -t {測試腳本jmx的路徑} -r -l {測試jtl生成路徑} -e -o {html測試報告路徑}

 

5、常見問題:

(1) 內存不夠,更改JVM內存,詳情百度,不可大於運行內存的一半

(2) 關閉防火牆:

① 暫時關閉:service  iptables stop

② 永久關閉:chkconfig iptables off

(3) hostname沒有映射當前的ip(可能映射的是localhost或者其他),修改即可

 


免責聲明!

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



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