摘要:易于持續(xù)集成,可通過腳本命令執(zhí)行,實際壓測建議使用命令行模式。
目錄
JMeter可以運行模式有兩種,一種是GUI圖形,另一種是命令模式運行也就是非GUI模式。
GUI:由于是圖形界面,所以在運行時會消耗很多資源,而且圖形界面運行時結(jié)果是保存在Jmeter運行的內(nèi)存中,如果是做長時的性能測試,內(nèi)存就會占用的很高,首先就是影響性能結(jié)果的準確性,其次當(dāng)內(nèi)存增長到一定程度,就會報錯,甚至可能出現(xiàn)卡死/宕機。
非GUI優(yōu)勢:通過命令運行,無圖形化界面,消耗壓力機資源較低,可以支持較大的并發(fā)。便捷快速,僅需啟動命令行,輸入命令便可執(zhí)行。易于持續(xù)集成,可通過shell腳本命令執(zhí)行,實際壓測建議使用命令行模式。
-h 幫助
-n 命令行模式
-t 指定要運行的JMX腳本路徑
-l 指定結(jié)果文件路徑,運行前要確保xxx.jtl不存在,不然報錯
-r 分布式(遠程)執(zhí)行,服務(wù)器列表由JMETER_HOME/bin/Jmter.properties文件中remote_hosts指定
-R 指定分布式(遠程)服務(wù)器列表,參數(shù)為服務(wù)器列表,配置形式同remote_hosts
-j 指定執(zhí)行日志路徑
-g?CSV結(jié)果文件,指定測試執(zhí)行結(jié)果文件路徑,僅用于生成測試報表
-e 設(shè)置測試完成后生成測試報表
-o 報表文件夾路徑,執(zhí)行測試報表生成文件夾,文件夾必須為空或者不存在
-H 指定代理服務(wù)器域名或代理服務(wù)器IP,一般填寫代理IP
-P 指定代理服務(wù)器端口號
執(zhí)行測試腳本
jmeter -n -t test.jmx
指定結(jié)果文件及日志路徑
jmeter -n -t test.jmx -l report/01-result.csv -j report/01-log.log
遠程調(diào)用remote_hosts中配置的所有服務(wù)器
jmeter -n ?-t ?test.jmx ?-r ?-l report/01-result.csv -j report/01-log.log
遠程調(diào)用指定服務(wù)器
jmeter -n -t ?test.jmx ?-R 192.168.xx.xx:1029 -l report/01-result.csv -j report/01-log.log
在腳本運行過程中,由于無界面,命令窗口會每隔一段時間打印一下當(dāng)前的運行狀態(tài),在窗口中會看到類似下面的信息
summary+ 是開始這個時點的報告。
summary= 是總結(jié)它之前的報告,呈現(xiàn)出的是當(dāng)前時點之前總的情況,通常是均值。
最后一個summary=是本次壓測總的情況,如果腳本按時正常結(jié)束的話,最后一次summary里面的值應(yīng)該和從GUI打開聚合報告或概括報告的值是一致的。
從3.0版本開始,Jmeter引入了Dashboard Report模塊,用于生成HTML類型的可視化圖形報告。
如果已經(jīng)有經(jīng)過測試生成的.jtl文件,可以利用該文件直接生成HTML可視化測試報告。
進入jmeter的bin目錄下,輸入如下命令:
jmeter -g xxx.jtl -o /report
# -g:后跟xxx.jtl文件所在的路徑
# -o:后跟生成的HTML文件存放的路徑
如果還未生成.jtl文件,則可以通過如下命令,一次性完成測試執(zhí)行和生成HTML可視化報告的操作,進入jmeter的bin目錄下,輸入如下命令:
jmeter -n -t?xxx.jmx -l xxx.jtl -e -o /report
# -n:以非GUI形式運行Jmeter
# -t:source.jmx 腳本路徑
# -l:result.jtl 運行結(jié)果保存路徑(.jtl),此文件必須不存在
# -e:在腳本運行結(jié)束后生成html報告
# -o:用于存放html報告的目錄
執(zhí)行截圖:
PS:(linux系統(tǒng)和windows系統(tǒng)命令一樣)需要注意的是,生成的.jtl文件路徑下,不能存在同名的.jtl文件,否則會執(zhí)行失敗。
查看測試報告:
Test and Report information
file:文件名
start time:開始時間
end time:結(jié)束時間
filter for display:過濾器
APDEX (Application Performance Index)
APDEX:性能指數(shù),是用戶對應(yīng)用性能滿意度的量化值。它提供了一個統(tǒng)一的測量和報告用戶體驗的方法,把最終用戶的體驗和應(yīng)用性能作為一個完整的指標進行統(tǒng)一度量。下圖表示為通用用戶滿意度區(qū)域,0代表沒有滿意用戶,1則代表所有用戶都滿意。實際業(yè)務(wù)系統(tǒng)開發(fā)過程中,1是團隊的追求目標。
T(Toleration threshold):容忍或滿意閾值
F(Frustration threshold):失敗閾值
Requests Summary
請求的通過率(OK)與失敗率(KO),百分比顯示
Statistics
數(shù)據(jù)分析,基本將 Summary Report 和 Aggrerate Report 的結(jié)果合并
Errors
錯誤情況,依據(jù)不同的錯誤類型,將所有錯誤結(jié)果展示
Top 5 Errors by sampler
樣本前五個錯誤
Over Time
Response Times Over Time:隨著時間推移響應(yīng)時間變化趨勢圖。
Bytes Throughput Over Time:隨著時間推移每秒接收和請求字節(jié)數(shù)變化趨勢圖,藍色為每秒發(fā)送字節(jié)數(shù),黃色為每秒接收字節(jié)數(shù)。
Latencies Over Time:隨著時間推移平均響應(yīng)延時趨勢圖,記錄客戶端發(fā)送請求完成后,服務(wù)器端返回請求之前這段時間。
Throughput
吞吐量
hits per second:每秒點擊率
codes per second:每秒狀態(tài)碼數(shù)量
Transactions per second:每秒事務(wù)量
Response Time Vs Request: 響應(yīng)時間點請求的成功/失敗數(shù)
Latency Vs Request: 延遲時間點請求的成功/失敗數(shù)
Response Times
響應(yīng)時間
Response Time Percentiles: 響應(yīng)時間百分比
Active Threads Over Time: 隨著時間推移活躍線程數(shù)
Time Vs Threads: 測試過程中的線程數(shù)時續(xù)圖
Response Time Distribution: 響應(yīng)時間分布
執(zhí)行命令時:WARNING: Could not open/create prefs root node Software/JavaSoft/Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
原因:
不是管理員權(quán)限在運行,需要管理員權(quán)限運行
解決方法:
win+R輸入regedit回車,打開注冊表編輯器。
找到HKEY_LOCAL_MACHINE / SOFTWARE / JavaSoft。
右鍵單擊權(quán)限,找到使用的非管理員賬戶,然后更改權(quán)限為完全控制。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/121941.html
jmeter web性能測試實例 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ma...
摘要:況且,即便使用了插件,也不能實現(xiàn)歷史數(shù)據(jù)追溯,數(shù)據(jù)持久化保存等功能。先來說下這套解決方案的原理,在運行過程中,將產(chǎn)生的性能數(shù)據(jù)寫入到數(shù)據(jù)庫里,然后定時從數(shù)據(jù)庫中讀取性能數(shù)據(jù),并分類展示到頁面上。而提供了將性能數(shù)據(jù)寫入到的組件。 前 言 在服務(wù)端性能測試工具中,Jmeter毫無疑問是其中的王...
摘要:認為就等于性能測試,其實這是不對的。性能測試定義指通過自動化的測試工具模擬多種正常峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試。另外,從業(yè)務(wù)角度來說也可以使用訪問人數(shù)天或頁面訪問量天做為單位。 隨著軟件行業(yè)的快速發(fā)展,現(xiàn)代的軟件系統(tǒng)越來越復(fù)雜,功能越來越多,測試人員除了需要保證基本的...
摘要:有了測試腳本,通過線程組來模擬真實用戶對服務(wù)器的訪問壓力。不同的是,這些類型的線程執(zhí)行測試結(jié)束后執(zhí)行定期的線程組。線程組中包含的線程數(shù)量在測試執(zhí)行過程中是不會發(fā)生改變的。邏輯控制器元件只對其子節(jié)點中的取樣器和邏輯控制器作用。 工欲善其事必先利其器,要保證移動應(yīng)用產(chǎn)品在上線之后能穩(wěn)定運行于各種復(fù)雜環(huán)境,僅僅進行功能測試是遠遠不夠的,壓力測試越來越被應(yīng)用開發(fā)商所重視。而壓力測試從傳統(tǒng)的內(nèi)部...
閱讀 1683·2021-11-16 11:44
閱讀 2411·2021-10-11 11:07
閱讀 4079·2021-10-09 09:41
閱讀 681·2021-09-22 15:52
閱讀 3203·2021-09-09 09:33
閱讀 2719·2019-08-30 15:55
閱讀 2295·2019-08-30 15:55
閱讀 850·2019-08-30 15:55