1. 程式人生 > >Apache JMeter軟體的安裝與使用(詳細)

Apache JMeter軟體的安裝與使用(詳細)

Apache JMeter軟體的安裝與使用

一、JMeter的簡介

Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試,但後來擴充套件到其他測試領域。 它可以用於測試靜態和動態資源,例如靜態檔案、Java 小服務程式、CGI 指令碼、Java 物件、資料庫、FTP 伺服器, 等等。JMeter 可以用於對伺服器、網路或物件模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體效能。另外,JMeter能夠對應用程式做功能/迴歸測試,通過建立帶有斷言的指令碼來驗證你的程式返回了你期望的結果。為了最大限度的靈活性,JMeter允許使用正則表示式建立斷言。
Apache JMeter 可以用於對靜態的和動態的資源(檔案,Servlet,Perl指令碼,java 物件,資料庫和查詢,FTP伺服器等等)的效能進行測試。它可以用於對伺服器、網路或物件模擬繁重的負載來測試它們的強度或分析不同壓力型別下的整體效能。你可以使用它做效能的圖形分析或在大併發負載測試你的伺服器/指令碼/物件。

二、JMeter的作用

1、能夠對HTTP和FTP伺服器進行壓力和效能測試, 也可以對任何資料庫進行同樣的測試(通過JDBC)。
2、完全的可移植性和100% 純java。
3、完全多執行緒 框架允許通過多個執行緒併發取樣和 通過單獨的執行緒組對不同的功能同時取樣。
4、精心的GUI設計允許快速操作和更精確的計時。
5、快取和離線分析/回放測試結果。

三、與LoadRunner的異同

1、Jmeter的架構跟LoadRunner原理一樣,都是通過中間代理,監控&收集併發客戶端發現的指令,把他們生成指令碼,再發送到應用伺服器,再監控伺服器反饋的結果的一個過程.
2、Jmeter沒有IP欺騙功能,IP欺騙是指在一PC臺上多個IP地址來分配給併發使用者.這個功能對於模擬較真實的客戶環境來說,是較有用.LoadRunner有此功能.
3、Jmeter本身也可進行錄製生成指令碼,不推薦使用。但是有一個工具badboy,利用這個工具進行錄製操作,然後將指令碼儲存為Jmeter指令碼,然後利用Jmeter可以開啟並修改指令碼
4、Jmeter做效能測試,主要是通過增加執行緒組的數目,或者是設定迴圈次數來增加併發使用者,而LoadRunner可以通過在場景中選擇要設定什麼樣的場景,然後選擇虛擬使用者數。
5、Jmeter是開源的,而LoadRunner是商業軟體,如果是正版,有技術支援,同時,網路上的資料相當多。

四、JMeter的安裝與配置

1、下載並安裝jdk,注意jdk版本最好1.8即1.8以上。因為JMeter是基於Java開發的。
2、安裝Jmeter,解壓zip包
3、新增環境變數JMETER_HOME,填好路徑之後,點選確定,具體如附圖所示注意:具體路徑根據實際情況填寫。
新增環境變數
4、編輯CLASSPATH變數,在CLASPATH加上 %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar,然後點選確定,再次點選確定,此時路徑已經新增完成。如附圖所示:
在這裡插入圖片描述


5、雙擊解壓後的資料夾,進入解壓後的目錄,再點選bin資料夾。
6、進入bin資料夾目錄後,找到jmeter.bat檔案,雙擊,並且在提示框點選”執行“,進入此頁面,則安裝成功。注意:此時會開啟一個黑色dos視窗,該視窗不要關閉,若關了該黑色視窗,意味著關閉了JMeter的UI視窗
在這裡插入圖片描述
7、漢化(可忽略),啟動軟體後,點選options->Choose language->Chinese
8、可參考:https://blog.csdn.net/a13124837937/article/details/79628838

五、JMeter外掛的安裝(可忽略)

Jmeter如何監控伺服器CPU、記憶體、i/o等資源在併發測試中使用情況。
1、需要準備好外掛:JMeterPlugins-Standard-1.4.0、ServerAgent-2.2.1
2、解壓JMeterPlugins-Standard-1.4.0.zip,將其中\lib\ext\JMeterPlugins-Standard.jar包複製到jmeter安裝目錄下的\lib\ext下;重啟jmeter,選擇監聽器,我們可以看到監聽器中多了一些東西(這裡邊就有我們監控要用到的功能),如下圖所示:
在這裡插入圖片描述
3、選擇上圖中的[email protected] Metrics Collector,這個就是我們監控伺服器資源的功能,點選之後如下圖:
在這裡插入圖片描述
4、到此,我們監控的工作準備的差不多了,還差一個重要的臥底,那就是ServerAgent,我們需要將它放到伺服器中,解壓下來開啟如下圖所示:
在這裡插入圖片描述
注意:如果你的伺服器是windows,那麼直接執行startAgent.bat檔案即可;如果你的伺服器是linux,那麼需要執行startAgent.sh檔案即可(執行方式:找到startAgent.sh檔案所在路徑,開啟終端命令列,保險起見可以先將startAgent.sh設定成可執行檔案,然後執行命令:./startAgent.sh,這樣我們的agent服務就啟動了);
5、可參考:https://blog.csdn.net/menofgod/article/details/79009646

六、JMeter的簡單使用

1、右鍵測試計劃->新增->執行緒(使用者)->執行緒組,配置執行緒數、迴圈次數、幾秒內將所有執行緒啟動
在這裡插入圖片描述
2、右鍵執行緒組->新增->取樣器->HTTP請求,按照併發測試的介面依次配置,注意:填寫路徑時由於工具不能自動url編碼,所以需要通過工具將測試路徑進行編碼。
工具:http://tool.oschina.net/encode?type=4
在這裡插入圖片描述
3、右鍵HTTP請求->新增->監聽器,目前本人常用監聽器有“圖形結果”、“察看結果樹”、“彙報結果”、“聚合報告”、“用表格察看結果”,如果想要監控cpu記憶體等,在監聽器中選中“[email protected] - PerfMon Metrics Collector”,並配置,配置如下圖所示:
在這裡插入圖片描述
4、此時啟動
5、檢視併發測試結果
在這裡插入圖片描述
在這裡插入圖片描述
可檢視每次請求返回的響應資料等
在這裡插入圖片描述
在這裡插入圖片描述
屬性說明:
Sample:每個請求的序號
Start Time:每個請求開始時間
Thread Name:每個執行緒的名稱
Label:Http請求名稱
Sample Time:每個請求所花時間,單位毫秒
Status:請求狀態,如果為勾則表示成功,如果為叉表示失敗。
Bytes:請求的位元組數
樣本數目:也就是上面所說的請求個數,成功的情況下等於你設定的併發數目乘以迴圈次數
平均:每個執行緒請求的平均時間
最新樣本:表示伺服器響應最後一個請求的時間
偏離:伺服器響應時間變化、離散程度測量值的大小,或者,換句話說,就是資料的分佈。
在這裡插入圖片描述
屬性說明:
Label:每個JMeter的element的Name值。例如HTTP Request的Name
#Samples:樣本數量。多少個請求
Average:平均響應時間(單位:)。預設是單個Request的平均響應時間,當使用了TransactionController時,也可以以Transaction為單位顯示平均響應時間
Median:中位數,也就是50%使用者的響應時間
90%Line:90%使用者的響應時間
95%Line:95%使用者的響應時間
99%Line:99%使用者的響應時間
注:為什麼要有*%使用者響應時間?因為在評估一次測試的結果時,僅僅有平均事物響應時間是不夠的。假如有一次測試,總共有100個請求被響應,其中最小響應時間為0.02秒,最大響應時間為110秒,平均事務響應時間為4.7秒,你會不會想到最小和最大響應時間如此大的偏差是否會導致平均值本身並不可信?
我們可以在95 th之後繼續新增96/ 97/ 98/ 99/ 99.9/ 99.99 th,並利用Excel的圖表功能畫一條曲線,來更加清晰表現出系統響應時間的分佈情況。這時候你也許會發現,那個最大值的出現機率只不過是千分之一甚至萬分之一,而且99%的使用者請求的響應時間都是在效能需求所定義的範圍之內的;如下圖則是最低響應時間的值出現機率是很小的,實際99%的使用者請求響應時間都要20000+。
Min:最小響應時間
Max:最大響應時間
Error%:本次測試中出現錯誤的請求的數量/請求的總數
Throughput:吞吐量。預設情況下標示每秒完成的請求數(具體單位如下圖)
KB/sec:每秒從伺服器端接收到的資料量。
在這裡插入圖片描述
Cpu、memory、IO的彙總圖

七、JMeter+badbody錄製指令碼進行web併發測試

1、下載安裝badbody,通過badbody內建的瀏覽器對要測試得頁面進行操作
在這裡插入圖片描述
2、點選開始指令碼的錄製
在這裡插入圖片描述
注意:在錄製操作過程中,儘可能避免無用操作。
3、最後點選結束指令碼的錄製
4、點選Export to JMeter 生成一個JMeter可識別的.jmx檔案
在這裡插入圖片描述
5、此時進入Jmeter,右鍵測試計劃,開啟剛剛儲存的.jmx檔案
在這裡插入圖片描述
接下來併發測試的操作如第六章。