linux環境下使用jmeter進行壓力測試


linux環境下使用就meter進行壓力測試:

linux環境部署:

  1. 在Linux服務器先安裝jdk:
    2.以jdk-8u172-linux-x64.tar.gz為例:
    下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
    jdk1.png-74.9kB

1.根據自己的服務器的機型選擇:小編的是64位的,這里就以64位為例:
jdk2.png-38.1kB

3.然后把下載tar.gz文件發送到服務器上:
這里我們可以使用xshell,連接服務器,同時也要下載xftp來連接服務器,然后通過xftp,把這些對應的文件的文件傳到服務器上,對應的xshell,如下是我的雲開盤地址,免密碼下載;
https://pan.baidu.com/s/1bL4fK_UHjHmoEzUo7PDoGw

4.然后安裝xshell文件,然后配置對應的服務器的ip,對應用的用戶名,密碼

5.然后安裝xftp,安裝成功之后,查看xshell的連接界面,會有一個xftp的圖標,
jdk3.png-38.1kB

6.此時點擊xftp然后點擊並且能夠看到,左邊是自己的本地,右邊是服務器的文件,這樣就方便用戶查看服務器的文件,也可以隨時上傳文件到服務器;

7.把jdk的壓縮包傳到服務器,並且放到/opt目錄

8.cd /opt

9.給安裝包賦予運行權限

10.chmod 755 jdk-8u172-linux-x64.tar.gz

11.然后:ll

12.查看文件此時有了執行權限:-rwxr-xr-x 1 root root 190921804 Jul 5 13:26 jdk-8u172-linux-x64.tar.gz

13.然后解壓:tar xzvf jdk-8u172-linux-x64.tar.gz /usr/lib

14.然后開始配置環境變量:(具體的Jdk的路徑以自己的解壓路徑為准)

15.vim /etc/profile

16.輸入 i 讓文件變為編輯模式,然后輸入的對應的環境變量:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_172
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.😒{JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

然后 輸入:esc,然后輸入:wq 回車

17.使配置文件生效,source /etc/profile

18.然后檢查,java -version

結果出現:java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
說明配置成功;

然后配置linux,環境下的jmeter環境:

1.下載:apache-jmeter-4.0.tgz,上傳到服務器;(同時本地也要保留一份,以后會用到的)

2.然后解壓到當前傳的目錄:jmeter
tar zxvf apache-jmeter-4.0.tgz jmeter

3.然后把解壓的文件配置到對應的環境變量:
export JMETER_HOME=/root/jmeter
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH:$HOME/bin

4.source /etc/profile 目的讓配置文件生效

5.[root@yace01 ~]# jmeter -v

4.jmeter-v.png-5.5kB

6.如上圖標說明配置成功了;

7.JMeter和JMeterPlugin的下載安裝;

JMeterPlugin可以把JMeter生成的jtl文件做出很好的統計圖,同時還支持機器的cpu、memory、swap、disk io和network的監控,是個不錯的插件。

JMeter插件的下載地址:https://jmeter-plugins.org/downloads/all/
jplus.png-41.2kB

1.jmeter-plugins-manager-1.1.jar
2.JMeterPlugins-Extras-1.4.0.zip
3.JMeterPlugins-Standard-1.4.0.zip
對應的雲盤下載鏈接:
鏈接: https://pan.baidu.com/s/1ILDgflYrRpaMFklS9ac9FQ 密碼: ecix
也可以自行下載,都可以的

上述插件:下載完成之后,例如:
jmeter-plugins-manager.jar,以及其他的插件,下載完成之后,將下載的jmeter-plugins-manager-0.11.jar文件放置到對應的jmeter的\lib\ext目錄下面,然后重啟JMeter即可。

其他插件都是如此的方式;

編寫測試計划

1.在GUI模式下,新建一個測試計划,形成一個jmx文件(文件中有一些監聽文件,比如查看結果樹,聚合報告等等文件),保存並上傳到linux機器對應目錄,可在測試計划里添加對應的定時器,聚合報告等。

2.在linux目錄下找到你的測試計划,vim打開進行編輯:

<stringProp name="ThreadGroup.num_threads">200</stringProp> 線程數 <stringProp name="ConstantTimer.delay">100</stringProp>固定定時器的時間間隔 

添加過的元器件其對應參數都可以在里面找到,進行參數調整時只要在這里編輯就ok了;

3.執行上述的文件:
找到對應的jmx文件的路徑文件,然后開始執行:
jmeter –n –t test.jmx –l test.jtl,即可生成測試報告:

 


test.jtl文件是生成的報告;

4.執行完之后,界面會出現一個 :end of run

如下補充一些,非GUI的一些命令:

  • -h 幫助 -> 打印出有用的信息並退出
    -n 非 GUI 模式 -> 在非 GUI 模式下運行 JMeter
    -t 測試文件 -> 要運行的 JMeter 測試腳本文件
    -l 日志文件 -> 記錄結果的文件
    -r 遠程執行 -> 啟動遠程服務
    -H 代理主機 -> 設置 JMeter 使用的代理主機
    -P 代理端口 -> 設置 JMeter 使用的代理主機的端口號

結果文件

1.把上述的文件通過,xftp文件然后傳入到本次,本地開啟GUI的jmeter,然后點擊:創建測試計划,然后點擊創建監聽--聚合報告,創建查看結果樹等等;然后點擊GUI界面的瀏覽,把jtl文件加載進來,就可以看到測試的報告結果了;(具體和報告,查看結果樹等等)
如下圖所有:
jmeternnnnn.jpg-350.7kB

2.注意本地的jmeter在創建計划,編寫腳本的時候的jmeter的版本最好和linux的版本一致,不然容易報錯

 

 

 

 

補充后續操作:

 

 

1:命令行模式將jtl轉成測試圖表-注意此方法只使用jmeter3.0以后版本

  • 第一種:在測試過程中將jtl轉成測試報告(在jmeter的bin目錄下執行)

./jmeter -n -t baidu_requests_results.jmx -r -l baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport

參數說明:

    -n : 非GUI 模式執行JMeter
    -t : 執行測試文件所在的位置及文件名
    -r : 遠程將所有agent啟動用在分布式測試場景下,不是分布式測試只是單點就不需要-r
    -l : 指定生成測試結果的保存文件, jtl 文件格式
    -e : 測試結束后,生成測試報告
    -o : 指定測試報告的存放位置
    -o 指定的文件及文件夾,必須不存在 ,否則執行會失敗,對應上面的命令就是resultReport文件夾必須不存在否則報錯
 
如上命令執行,可以看到控制台開始打印數據了
 
運行完成后,可以在指定的目錄下看到生成結果文件夾/home/tester/apache-jmeter-3.0/resultReport
我們可以將該文件夾下載到本地windows機器,然后用瀏覽器打開index.html文件就能看到報告內容了
首頁Dashboard:
 

 

解釋:
file:文件名
start time:開始時間
end time:結束時間
filter for display:過濾器
APDEX(Application performance Index):應用程序性能指標,計算每筆交易APDEX的容忍和滿足閾值基於可配置的值,范圍在 0-1 之間,1表示達到所有用戶均滿意
T(Toleration threshold):容忍或滿意閾值
F(Frustration threshold):失敗閾值
requests summary中KO指失敗率,OK指成功率
 
首頁Dashboard:頁面滾動條往下拉:
解釋:
statistics:數據分析, 基本將 Summary Report 和 Aggrerate Report 的結果合並,含義分別為:
請求名稱、請求數目、失敗請求數目、錯誤率(本次測試中出現錯誤的請求的數量/請求的總數)、90%用戶響應時間、95%用戶響應時間、99%用戶響應時間、吞吐量(吞吐量——默認情況下表示每秒完成的請求數Request per Second,當使用了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數)、Kb/sec(每秒從服務器端接收到的數據量,相當於LoadRunner中的Throughput/Sec)、最小響應時間、最大響應時間
 
errors:錯誤情況,依據不同的錯誤類型,將所有錯誤結果展示
 
Chart-Over Time-Response Times Over Time:隨着時間推移響應時間變化趨勢圖
可以看到歷時3分鍾,響應時間由0.334ms慢慢下滑到0.225ms
 
Chart-Over Time-Bytes Throughput Over Time:隨着時間推移每秒接收和請求字節數變化趨勢圖,藍色為每秒發送字節數,黃色為每秒接收字節數:

 

Chart-Over Time-Latencies Over Time:隨着時間推移平均響應延時趨勢圖,記錄客戶端發送請求完成后,服務器端返回請求之前這段時間

 

 

由於我測試用的並發請求百度,請求都被拒絕了,並沒有收到從服務端返回的請求,所以這里看到一條0的線
 
以上就是over time欄的所有圖表,除了over time還有throuput和response times欄
throuput欄:

 

Throughput欄包括:
hits per second:每秒點擊率
codes per second:每秒狀態碼數量
Transactions per second:每秒事務量
Response Time Vs Request: 響應時間點請求的 成功/失敗 數
Latency Vs Request: 延遲時間點請求的 成功/失敗 數
 
Response Times欄:

 

esponse times欄包括:
Response Time Percentiles: 響應時間百分比
Active Threads Over Time: 隨着時間推移活躍線程數
Time Vs Threads: 測試過程中的線程數時續圖
Response Time Distribution: 響應時間分布
 
  • 第二種:使用之前的測試結果,生成測試報告

./jmeter -g baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport

-g : 指定已存在的測試結果文件
-e :測試結果后,生成測試報告
-o : 指定測試報告的存放位置
-o 指定的文件及文件夾,必須 不存在 ,否則執行會失敗

 第一種和第二種其實最終都依賴生成的jtl文件,將jtl文件生成測試報告。雙擊測試報告中的index.html文件即可查看報告內容

 

2:插件模式將jtl轉成測試圖表

  • 第三種:利用GUI頁面圖形化展示jtl文件數據

下載插件JMeterPlugins-Extras.jar、CMDRunner.jar、JMeterPlugins-Standard.jar放到本地windows機器的jmeter的lib/ext目錄下,插件可以去官網下載,這里我也給出我的插件地址(只需解壓縮拷貝其中lib包下的jar文件到lib/ext目錄下即可):http://pan.baidu.com/s/1pLexxcZ 密碼:f4rb

在windows機器上需要安裝jmeter,下載的插件放在jmeter安裝目錄的lib/ext目錄下,然后去bin目錄下雙擊jmeter.bat打開jmeter的gui頁面

在線程組下面添加你想要的監聽器,然后點擊監聽器頁面的瀏覽按鈕,選擇你想瀏覽的jtl文件,等待一會,就能出現你想要的圖形報告

以jp@gc - Bytes Throughput Over Time為例:

第一步:添加該監聽器,當我們把下載的jar包放到lib/ext下面然后重啟jmeter后,監聽器中就會多出很多的擴展監聽插件,選擇你關注的結果插件即可

第二步:選擇你要瀏覽的jtl文件,監聽器添加成功后,在監聽器頁面都會有一個瀏覽按鈕,點擊瀏覽按鈕找到並選擇你要看的jtl文件

第三步:點擊打開后,等待一會,就能在相應的監聽器頁面看到你想要看到的結果了

如果你還想要看其他的數據比如聚合報告,吞吐量,響應時間等等一切你關心的數據,按上面的3個步驟走一遍就行

 

  • 第四種:利用CMDRunner.jar插件用命令行的方式將jtl轉成想要的png或者csv形式,這個方式比3的好處在於3利用gui頁面有時jtl文件數據量很大可能要等很久

首先進入lib\ext目錄下,然后去執行響應的命令

 

cd F:\apache-jmeter-3.0\apache-jmeter-3.0\lib\ext

java -jar CMDRunner.jar  --tool Reporter --generate-png baidu_ThreadsStateOverTime.png --input-jtl baidu_requests_results.jtl --plugin-type   TransactionsPerSecond

cmd運行上面的命令,結果在lib\ext目錄下可以看到生成了一個baidu_ThreadsStateOverTime.png圖片:

雙擊打開png圖片,就能看到想要的圖形效果

注意此處的的圖片是斷續的共15分鍾,這跟jtl有關,測試時jtl文件如果不刪除或清空,下一次測試的數據會追加到jtl的末尾,所以可以看到上面的圖片中我的測試結果分了3次3分鍾,其余時間其實是並沒有進行測試的情況。

 

命令解析:

命令最后有個命令類型:TransactionsPerSecond,除了這個還支持如下命令類型:

 ThreadsStateOverTime、 BytesThroughputOverTime、 HitsPerSecond、 LatenciesOverTime、 ResponseCodesPerSecond、 ResponseTimesDistribution、

 ResponseTimesOverTime、 ResponseTimesPercentiles、 ThroughputVsThreads、 TimesVsThreads、 PageDataExtractorOverTime、 PerfMon

 

我們可以用一個windows的bat批處理文件,來執行上面的命令,命令執行完以后去相應目錄下收取結果png圖片就可以了

 

 

最后一行PerfMon:服務器參數隨時間變化曲線注意這個需要在jmx腳本中添加,服務器監控,要指定ip、端口、監控項,還需要指定perfMon的輸出文件,或者在命令行指定,如./jmeter -n -t baidu.jmx -l 2.jtp -JforcePerfmonFile=true,這樣會輸出在當前路徑。

bat命令為:對文件名稱和生成的jtl文件名以及CMDRunner.jar包路徑可根據需要修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@echo off
set  file= "interface"
set  jtlfile= "interface_test.jtl"
f:
cd F:\apache-jmeter-3.0\apache-jmeter-3.0\lib\ext
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ThreadsStateOverTime.png --input-jtl  %jtlfile%  --plugin-type ThreadsStateOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_BytesThroughputOverTime.png --input-jtl  %jtlfile%  --plugin-type BytesThroughputOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_HitsPerSecond.png --input-jtl  %jtlfile%  --plugin-type HitsPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_LatenciesOverTime.png --input-jtl  %jtlfile%  --plugin-type LatenciesOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ResponseCodesPerSecond.png --input-jtl  %jtlfile%  --plugin-type ResponseCodesPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ResponseTimesDistribution.png --input-jtl  %jtlfile%  --plugin-type ResponseTimesDistribution
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ResponseTimesOverTime.png --input-jtl  %jtlfile%  --plugin-type ResponseTimesOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ResponseTimesPercentiles.png --input-jtl  %jtlfile%  --plugin-type ResponseTimesPercentiles
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_ThroughputVsThreads.png --input-jtl  %jtlfile%  --plugin-type ThroughputVsThreads
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_TimesVsThreads.png --input-jtl  %jtlfile%  --plugin-type TimesVsThreads
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_TransactionsPerSecond.png --input-jtl  %jtlfile%  --plugin-type TransactionsPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_PageDataExtractorOverTime.png --input-jtl  %jtlfile%  --plugin-type PageDataExtractorOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-png %file%_PerfMon.png --input-jtl  %jtlfile%  --plugin-type PerfMon

  

  雙擊該bat文件后,我們在lib\ext目錄下去看,就可以看到生成了很多png圖片

關心哪個圖表直接雙擊打開即可,這樣就方便很多了。

當然除了生成png,還可以生成csv文件,如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
set  file= "interface"
set  jtlfile= "interface_test.jtl"
f:
cd F:\apache-jmeter-3.0\apache-jmeter-3.0\lib\ext
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_PerfMon.csv --input-jtl  %jtlfile%  --plugin-type AggregateReport
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_PerfMon.csv --input-jtl  %jtlfile%  --plugin-type SynthesisReport
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_ThreadsStateOverTime.csv --input-jtl  %jtlfile%  --plugin-type ThreadsStateOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_BytesThroughputOverTime.csv --input-jtl  %jtlfile%  --plugin-type BytesThroughputOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_HitsPerSecond.csv --input-jtl  %jtlfile%  --plugin-type HitsPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_LatenciesOverTime.csv --input-jtl  %jtlfile%  --plugin-type LatenciesOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_ResponseCodesPerSecond.csv --input-jtl  %jtlfile%  --plugin-type ResponseCodesPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_ResponseTimesDistribution.csv --input-jtl  %jtlfile%  --plugin-type ResponseTimesDistribution
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_ResponseTimesOverTime.csv --input-jtl  %jtlfile%  --plugin-type ResponseTimesOverTime
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_ResponseTimesPercentiles.csv --input-jtl  %jtlfile%  --plugin-type ResponseTimesPercentiles
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_ThroughputVsThreads.csv --input-jtl  %jtlfile%  --plugin-type ThroughputVsThreads
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_TimesVsThreads.csv --input-jtl  %jtlfile%  --plugin-type TimesVsThreads
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_TransactionsPerSecond.csv --input-jtl  %jtlfile%  --plugin-type TransactionsPerSecond
java -jar CMDRunner.jar  --tool Reporter --generate-csv %file%_PageDataExtractorOverTime.csv --input-jtl  %jtlfile%  --plugin-type PageDataExtractorOverTime

  雙擊該bat文件,然后去對應目錄下就能看到生成了很多csv文件,比如AggregateReport.csv就是聚合報告

jmeter之jtl文件解析

我們知道命令行的方式執行完成jmeter后,會生成jtl文件,里面打開后就是一行行的測試結果,

 <httpSample t="1" lt="1" ts="1450684950333" s="true" lb="app.testdelay" rc="200" rm="OK" tn="appdelay-3000g3m 1-1" dt="" by="2265"/>

  • t表示從請求開始到響應結束的時間
  • lt表示整個的空閑時間
  • ts表示訪問的時刻
  • s表示返回的結果true表示成功,false表示失敗
  • lb表示標題
  • rc表示返回的響應碼
  • rm表示響應信息
  • tn表示線程的名字“1-138”表示第1個線程組的第138個線程。
  • dt表示響應的文件類型
  • by表示請求和響應的字節數

  

即便知道每個代表的含義,但是我們肉眼還是難以直觀的看到性能如何,所以我們可以將jtl文件進行轉換,轉成肉眼能夠直觀看懂的圖表、csv等形式,下面講解jtl文件轉換的幾種方式:(jmeter系列博文用的例子都是並發測試百度接口,由於百度本身機制不允許短時間並發訪問所以看到我的結果都是失敗的,這里做下說明,各位真實測試使用自己的jmx腳本的時候一般不會如此)

1:命令行模式將jtl轉成測試圖表-注意此方法只使用jmeter3.0以后版本

  • 第一種:在測試過程中將jtl轉成測試報告(在jmeter的bin目錄下執行)

./jmeter -n -t baidu_requests_results.jmx -r -l baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport

參數說明:

    -n : 非GUI 模式執行JMeter
    -t : 執行測試文件所在的位置及文件名
    -r : 遠程將所有agent啟動用在分布式測試場景下,不是分布式測試只是單點就不需要-r
    -l : 指定生成測試結果的保存文件, jtl 文件格式
    -e : 測試結束后,生成測試報告
    -o : 指定測試報告的存放位置
    -o 指定的文件及文件夾,必須不存在 ,否則執行會失敗,對應上面的命令就是resultReport文件夾必須不存在否則報錯
 
如上命令執行,可以看到控制台開始打印數據了
運行完成后,可以在指定的目錄下看到生成結果文件夾/home/tester/apache-jmeter-3.0/resultReport
我們可以將該文件夾下載到本地windows機器,然后用瀏覽器打開index.html文件就能看到報告內容了
首頁Dashboard:
解釋:
file:文件名
start time:開始時間
end time:結束時間
filter for display:過濾器
APDEX(Application performance Index):應用程序性能指標,計算每筆交易APDEX的容忍和滿足閾值基於可配置的值,范圍在 0-1 之間,1表示達到所有用戶均滿意
T(Toleration threshold):容忍或滿意閾值
F(Frustration threshold):失敗閾值
requests summary中KO指失敗率,OK指成功率
 
首頁Dashboard:頁面滾動條往下拉:
解釋:
statistics:數據分析, 基本將 Summary Report 和 Aggrerate Report 的結果合並,含義分別為:
請求名稱、請求數目、失敗請求數目、錯誤率(本次測試中出現錯誤的請求的數量/請求的總數)、90%用戶響應時間、95%用戶響應時間、99%用戶響應時間、吞吐量(吞吐量——默認情況下表示每秒完成的請求數Request per Second,當使用了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數)、Kb/sec(每秒從服務器端接收到的數據量,相當於LoadRunner中的Throughput/Sec)、最小響應時間、最大響應時間
 
errors:錯誤情況,依據不同的錯誤類型,將所有錯誤結果展示
 
Chart-Over Time-Response Times Over Time:隨着時間推移響應時間變化趨勢圖
可以看到歷時3分鍾,響應時間由0.334ms慢慢下滑到0.225ms
 
Chart-Over Time-Bytes Throughput Over Time:隨着時間推移每秒接收和請求字節數變化趨勢圖,藍色為每秒發送字節數,黃色為每秒接收字節數:
 
Chart-Over Time-Latencies Over Time:隨着時間推移平均響應延時趨勢圖,記錄客戶端發送請求完成后,服務器端返回請求之前這段時間
由於我測試用的並發請求百度,請求都被拒絕了,並沒有收到從服務端返回的請求,所以這里看到一條0的線
 
以上就是over time欄的所有圖表,除了over time還有throuput和response times欄
throuput欄:
Throughput欄包括:
hits per second:每秒點擊率
codes per second:每秒狀態碼數量
Transactions per second:每秒事務量
Response Time Vs Request: 響應時間點請求的 成功/失敗 數
Latency Vs Request: 延遲時間點請求的 成功/失敗 數
 
Response Times欄:
 
response times欄包括:
Response Time Percentiles: 響應時間百分比
Active Threads Over Time: 隨着時間推移活躍線程數
Time Vs Threads: 測試過程中的線程數時續圖
Response Time Distribution: 響應時間分布
 
  • 第二種:使用之前的測試結果,生成測試報告

./jmeter -g baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport

-g : 指定已存在的測試結果文件
-e :測試結果后,生成測試報告
-o : 指定測試報告的存放位置
-o 指定的文件及文件夾,必須 不存在 ,否則執行會失敗

 第一種和第二種其實最終都依賴生成的jtl文件,將jtl文件生成測試報告。雙擊測試報告中的index.html文件即可查看報告內容

 

2:插件模式將jtl轉成測試圖表

  • 第三種:利用GUI頁面圖形化展示jtl文件數據

下載插件JMeterPlugins-Extras.jar、CMDRunner.jar、JMeterPlugins-Standard.jar放到本地windows機器的jmeter的lib/ext目錄下,插件可以去官網下載,這里我也給出我的插件地址(只需解壓縮拷貝其中lib包下的jar文件到lib/ext目錄下即可):http://pan.baidu.com/s/1pLexxcZ 密碼:f4rb

在windows機器上需要安裝jmeter,下載的插件放在jmeter安裝目錄的lib/ext目錄下,然后去bin目錄下雙擊jmeter.bat打開jmeter的gui頁面

在線程組下面添加你想要的監聽器,然后點擊監聽器頁面的瀏覽按鈕,選擇你想瀏覽的jtl文件,等待一會,就能出現你想要的圖形報告

以jp@gc - Bytes Throughput Over Time為例:

第一步:添加該監聽器,當我們把下載的jar包放到lib/ext下面然后重啟jmeter后,監聽器中就會多出很多的擴展監聽插件,選擇你關注的結果插件即可

 

第二步:選擇你要瀏覽的jtl文件,監聽器添加成功后,在監聽器頁面都會有一個瀏覽按鈕,點擊瀏覽按鈕找到並選擇你要看的jtl文件

 

第三步:點擊打開后,等待一會,就能在相應的監聽器頁面看到你想要看到的結果了

如果你還想要看其他的數據比如聚合報告,吞吐量,響應時間等等一切你關心的數據,按上面的3個步驟走一遍就行

 

  • 第四種:利用CMDRunner.jar插件用命令行的方式將jtl轉成想要的png或者csv形式,這個方式比3的好處在於3利用gui頁面有時jtl文件數據量很大可能要等很久

首先進入lib\ext目錄下,然后去執行響應的命令

cd F:\apache-jmeter-3.0\apache-jmeter-3.0\lib\ext

java -jar CMDRunner.jar  --tool Reporter --generate-png baidu_ThreadsStateOverTime.png --input-jtl baidu_requests_results.jtl --plugin-type   TransactionsPerSecond

cmd運行上面的命令,結果在lib\ext目錄下可以看到生成了一個baidu_ThreadsStateOverTime.png圖片:

 

雙擊打開png圖片,就能看到想要的圖形效果

 

注意此處的的圖片是斷續的共15分鍾,這跟jtl有關,測試時jtl文件如果不刪除或清空,下一次測試的數據會追加到jtl的末尾,所以可以看到上面的圖片中我的測試結果分了3次3分鍾,其余時間其實是並沒有進行測試的情況。

 

命令解析:

命令最后有個命令類型:TransactionsPerSecond,除了這個還支持如下命令類型:

 ThreadsStateOverTime、 BytesThroughputOverTime、 HitsPerSecond、 LatenciesOverTime、 ResponseCodesPerSecond、 ResponseTimesDistribution、

 ResponseTimesOverTime、 ResponseTimesPercentiles、 ThroughputVsThreads、 TimesVsThreads、 PageDataExtractorOverTime、 PerfMon

 

我們可以用一個windows的bat批處理文件,來執行上面的命令,命令執行完以后去相應目錄下收取結果png圖片就可以了

最后一行PerfMon:服務器參數隨時間變化曲線注意這個需要在jmx腳本中添加,服務器監控,要指定ip、端口、監控項,還需要指定perfMon的輸出文件,或者在命令行指定,如./jmeter -n -t baidu.jmx -l 2.jtp -JforcePerfmonFile=true,這樣會輸出在當前路徑。

bat命令為:對文件名稱和生成的jtl文件名以及CMDRunner.jar包路徑可根據需要修改

按 Ctrl+C 復制代碼
按 Ctrl+C 復制代碼

 

 雙擊該bat文件后,我們在lib\ext目錄下去看,就可以看到生成了很多png圖片

關心哪個圖表直接雙擊打開即可,這樣就方便很多了。

當然除了生成png,還可以生成csv文件,如:

按 Ctrl+C 復制代碼
按 Ctrl+C 復制代碼

雙擊該bat文件,然后去對應目錄下就能看到生成了很多csv文件,比如AggregateReport.csv就是聚合報告

好了,以上就是jmeter的jtl文件查看方式了

復制到這里方便自己查看

源文檔:http://www.cnblogs.com/miaomiaokaixin/p/6118081.html

 

 


免責聲明!

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



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