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