新聞中心
作為一款開源的壓力測試工具,Apache JMeter在軟件測量領(lǐng)域中已經(jīng)得到了廣泛的應用。通過使用JMeter測試應用程序,可以發(fā)現(xiàn)并解決應用程序中出現(xiàn)的性能瓶頸和故障。為了快速而有效地測試應用程序,需要掌握Linux JMeter命令,這樣就能夠在控制臺中執(zhí)行測試用例,并生成測試報告。接下來,我們將具體介紹如何掌握Linux JMeter命令。

創(chuàng)新互聯(lián)主營建鄴網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā),建鄴h5微信小程序開發(fā)搭建,建鄴網(wǎng)站營銷推廣歡迎建鄴等地區(qū)企業(yè)咨詢
安裝JMeter
在使用JMeter之前,需要先下載和安裝。在Linux系統(tǒng)中,可以使用以下命令進行安裝:
sudo apt-get update
sudo apt-get install jmeter
啟動JMeter
安裝完成后,可以使用以下命令在Linux終端中啟動JMeter:
jmeter
啟動后,會出現(xiàn)JMeter的圖形用戶界面。在這個界面中,可以添加測試腳本,定義壓力測試規(guī)則和執(zhí)行測試。但是,使用圖形用戶界面進行測試需要進行多次操作,而使用JMeter命令可以快速執(zhí)行測試,并生成測試報告。
創(chuàng)建測試計劃
在使用JMeter命令進行測試之前,需要先創(chuàng)建測試計劃??梢允褂靡韵旅顒?chuàng)建一個JMeter測試計劃:
jmeter -n -t test.jmx -l log.jtl
其中,test.jmx是測試計劃文件的名稱,log.jtl是測試日志的名稱。在運行該命令之后,可以在當前目錄下生成一個test.jmx文件和一個log.jtl文件,以及一個summary.csv文件,用于統(tǒng)計測試概要信息。
執(zhí)行測試計劃
創(chuàng)建測試計劃后,就可以使用以下命令執(zhí)行測試:
jmeter -n -t test.jmx -l log.jtl -e -o report
該命令會使用test.jmx文件中定義的測試用例對應用程序進行壓力測試,并將測試結(jié)果輸出到log.jtl文件中。使用-e選項可以在測試結(jié)束后生成HTML報告。-o選項指定報告輸出目錄,該目錄必須是一個空目錄。執(zhí)行完該命令后,可以在report目錄下查看HTML測試報告。
控制測試執(zhí)行順序
在使用JMeter命令進行測試時,可以使用以下命令控制測試執(zhí)行順序:
jmeter -n -t test.jmx -q user.properties
該命令使用user.properties文件中定義的用戶參數(shù)來控制測試執(zhí)行??梢允褂糜脩魠?shù)定義測試用例執(zhí)行的順序和執(zhí)行時間。具體方式可以參考JMeter官方文檔中有關(guān)用戶參數(shù)的部分。
設(shè)置遠程測試
在使用JMeter命令進行測試時,還可以設(shè)置遠程測試??梢允褂靡韵旅钤谶h程主機上執(zhí)行測試計劃:
jmeter -n -t test.jmx -R remote_server1,remot_server2 -l log.jtl -e -o report
該命令會在多個遠程服務器上執(zhí)行測試計劃,并將測試結(jié)果輸出到log.jtl文件中。執(zhí)行完該命令后,可以在report目錄下查看HTML測試報告。
掌握Linux JMeter命令是非常重要的,因為通過該命令可以在控制臺中執(zhí)行壓力測試,并生成HTML測試報告。使用JMeter命令可以快速而高效地測試應用程序,從而發(fā)現(xiàn)和解決應用程序中的性能問題。在實際測試中,需要根據(jù)應用程序的情況來選擇測試用例和壓力規(guī)則,并進行多次測試以確保測試結(jié)果的準確性。
相關(guān)問題拓展閱讀:
- Jmeter命令行啟動能不能產(chǎn)生聚合報告?
- JMeter基礎(chǔ)
Jmeter命令行啟動能不能產(chǎn)生聚合報告?
可以把聚合報告輸出到任一文件,比如宴寬./jmeter -n -t test.jmx >鍵則> /home/report.txt
就可以通過tail -f report.txt實時在linux里查看聚合報告了。晌亮亮
不能。命令行方式只能產(chǎn)生一個匯集所有原始數(shù)據(jù)的文件,聚合報告只能二次分析得出。
JMeter基礎(chǔ)
一、Jmeter簡介
—–>生成不同格式的測試報告
以WEB性能測試為例:jmeter可以作為web服務器與瀏覽器之間的代理網(wǎng)關(guān),以便捕獲瀏覽器的請求和web服務器的響應,如此就可以很容易地生成性能測試腳本。有了性能測試腳本,jmeter就可以通過線程來模擬真實用戶對web服務器的訪問壓力。這與LoadRunner的工作原理基本一致( 向服務器提交請求;從服務器獲取請求返回的結(jié)果 )
二、JMeter下載安裝
1、安裝環(huán)境要求
Unix(Solaris,Linux,etc) 、 Windows(98,NT,2023,XP,WIN8)
2、JDK下載、安裝
右鍵計算櫻侍機屬性->高級系統(tǒng)設(shè)置->系統(tǒng)屬性->高級->環(huán)境變量->添加如下的系統(tǒng)變量:
變量值:D:Program FilesJavajdk1.8.0_92【jdk安裝路徑】
變量值: .;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;
運行cmd->輸入java -version->顯示java版本就表示jdk安裝成功
3、JMeter下載安裝
4、JMeter環(huán)境配置
變量值:E:apache-jmeter-4.0 (就是jmeter保存的路徑,即jmeter解壓路徑)
如:JMETER_HOME=D:apache-jmetesapache-jmeter-4.0
變量值:
;%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;%JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-2.0.jar
5、Jmeter 的Bin目錄下的幾個重要文件
6、啟動Jmeter
三、JMeter組件介紹 (JMeter常用組件)
1、測試計劃(Test Plan)
注:什么是元素?
JMeter的不同組件稱為Elements。 每個元素都是為特定目的而設(shè)計的。
2、線程組(Threads)
例如,如果將線程數(shù)設(shè)置為100; JMeter將創(chuàng)建并模擬100個用戶對被測服務器的請求
所有的控制器和取樣器都是在某個線程組下;
3、邏輯控制器(Logic controller)
邏輯控制器允許在線程中定義處理請求的順序。它允許控制“何時”將用戶請求發(fā)送到Web服務器。例如,可以使用隨機控制器隨機向服務器發(fā)送HTTP請求
例如:我們在收郵件時,只需要登錄一次郵箱既可查看多封郵件。如果這個場景我們在Jmeter中實現(xiàn),我們需要控制登錄的次數(shù),如何實現(xiàn)呢?Jmeter邏輯控制器中的僅一次控制器就可以完成。當然了,控制器不只是這一個,還有很多其他的控制器來完成我們的各種需求。
除了為“線程組”指定的循環(huán)值之外,循環(huán)控制器使取樣器運行一定次數(shù)。例如,如果你
將一個HTTP請求添加到循環(huán)控制器,循環(huán)計數(shù)為50
將“線程組”循環(huán)計數(shù)配置為2
然后,JMeter將發(fā)送總共50 * 2 = 100個HTTP請求。
除了循環(huán)值= 2,你為上面的線程組指定。所以JMeter將發(fā)送總共2 * 50 = 100個HTTP請求。
又如:線程組中設(shè)置循環(huán)次數(shù)3,循環(huán)控制器中設(shè)置循環(huán)測試2,
即:線程組的循環(huán)與循環(huán)控制器為父子關(guān)系,且循環(huán)控制器只對子請求有效
注:錄制腳本的循環(huán)按循環(huán)控制器中的調(diào)協(xié)循環(huán)
作為循環(huán)控制器的子節(jié)點脊態(tài)吵,僅一次控制器在每循環(huán)的之一次迭代時均會被執(zhí)行
HTTP請求、FTP請求、JDBC請求
這3個請求應該閉基運行5次; JMeter將向baidu服務器發(fā)送總共5個用戶請求。
按順序,按以下順序依次發(fā)送請求:HTTP請求 – > FTP請求 – > JDBC請求,對于每個循環(huán)按隨機順序,請求隨機發(fā)送,F(xiàn)TP請求 – > HTTP請求 – > JDBC請求 或 JDBC請求 – > FTP請求 – > HTTP請求等
4、配置元件(Config element)
比如CVS Data Set Config,它可以幫助我們從文件中讀取測試數(shù)據(jù)。另外Jmeter也提供了眾多的函數(shù)來幫我們生成動態(tài)數(shù)據(jù)。
緩存管理器),自動記錄服務器返回的Cache信息。簡單說就是它為取樣器提供預備數(shù)據(jù),然后由取樣器
發(fā)出請求。
入不同的登錄憑據(jù)。 該登錄信息(例如,用戶名,密碼)可以存儲在文本文件中。 JMeter有一個元素,允許您從該文本文件中讀取不同的參數(shù)。 它是“CSV數(shù)據(jù)集配置”,用于從文件中讀取行,并將它們拆分為變量。
這是CSV數(shù)據(jù)的示例。 這是一個文本文件,其中包含用于登錄目標網(wǎng)站的用戶和密碼
密碼將作為cookie存儲在計算機中。下次訪問 www.baidu.com 時 ,無需再次登錄,因為在瀏覽器將使用您的Cookie作為用戶數(shù)據(jù)登錄。
Cookie管理器會自動存儲該cookie,并將其用于將來對該特定網(wǎng)站的所有請求。
此元素允許您設(shè)置HTTP請求控制器使用的默認值
server name = google.com
PS:在執(zhí)行順序方面有個例外,配置元件”用戶定義的變量”無論它處于測試樹的哪個位置,總是在測試的初始階段執(zhí)行。所以個人建議把它放在線程組的開始部分。
5、定時器(Timer)(
固定定時器:思考時間
)
JMeter向
每個用戶請求之間的延遲為5000毫秒
6、前置處理器(Per processors)
7、取樣器(Samples)
您將FTP“下載文件”或“上載文件”請求發(fā)送到FTP服務器。
JMeter將FTP命令發(fā)送到FTP服務器ftp.cdxwcx.com ,然后從該服務器下載文件Test.txt。
您可以配置JMeter將SQL查詢發(fā)送到此服務器以檢索數(shù)據(jù)。
如果要測試郵件服務器,可以使用TP采樣器。 此采樣器用于使用TP協(xié)議發(fā)送電子郵件
8、后置處理器(post processors)
9、斷言(Assertions)
用過LR的讀者應該會知道檢查點這個功能,可以幫助我們來判斷請求是否成功返回且是否符合要求,在Jmeter中我們不叫檢查點,我們叫斷言,接觸過selenium的也會懂這個概念。就是用一個預設(shè)的結(jié)果(值、表達式、時間長短等條件)與實際結(jié)果匹配,匹配到則成功,反之失敗。
APPly to:
適用范圍
Main sample and sub-samples:作用于父節(jié)點取樣器及對應子節(jié)點取樣器
Main sample only:僅作用于父節(jié)點取樣器
Sub-samples only:僅作用于子節(jié)點取樣器
JMeter Variable:作用于jmeter變量(輸入框內(nèi)可輸入jmeter的變量名稱)
要測試的響應字段:
要檢查的項
響應報文
Documeng(text):測試文件
URL樣本
響應代碼
響應信息
Response Headers:響應頭部
Ignore status:忽略返回的響應報文狀態(tài)碼
模式匹配規(guī)則:
包括:返回結(jié)果包括你指定的內(nèi)容
匹配:(好像跟Equals查不多,弄不明白有什么區(qū)別)
Equals:返回結(jié)果與你指定結(jié)果一致
Substring:返回結(jié)果是指定結(jié)果的字串
否:不進行匹配
要測試的模式:
即填寫你指定的結(jié)果(可填寫多個),按鈕【添加】、【刪除】是進行指定內(nèi)容的管理
10、監(jiān)聽器(Listener)
“圖形結(jié)果”偵聽器在圖形上顯示服務器響應時間
“查看結(jié)果樹”以基本HTML格式顯示用戶請求的結(jié)果(View Results Tree)
通過察看結(jié)果樹,我們可以看到每個請求的結(jié)果,其中紅色的是出錯的請求,綠色的為通過。
Thread Name:線程組名稱
Sample Start: 啟動開始時間
Load time:加載時長
Latency:等待時長
Size in bytes:發(fā)送的數(shù)據(jù)總大小
Headers size in bytes:發(fā)送數(shù)據(jù)的其余部分大小
Sample Count:發(fā)送統(tǒng)計
Error Count:交互錯誤統(tǒng)計
Response code:返回碼
Response message:返回信息
Response headers:返回的頭部信息
這里綠色的就說明請求是通過的,返回值是200,如果出現(xiàn)紅色的 就說明請求失敗,這時候可以通過右邊的取樣器結(jié)果和響應數(shù)據(jù)來查看結(jié)果。
用表格可看結(jié)果(View Results in Table)
四、組件執(zhí)行順序
在同一作用域名范圍內(nèi)(不考慮邏輯控制器),測試計劃中的元件按照如下順序執(zhí)行。
(1)配置元件(config elements )
(2)前置處理程序(Per-processors)
(3)定時器(timers )
(4)取樣器(Sampler)
(5)后置處理程序(Post-processors) (除非Sampler 得到的返回結(jié)果為空)
(6)斷言(Assertions)(除非Sampler 得到的返回結(jié)果為空)
(7)監(jiān)聽器(Listeners)(除非Sampler 得到的返回結(jié)果為空)
問題
1、為什么要使用jmeter?他可以幫我們解決那些事情?
jmeter主要是做接口測試和性能測試,它支持的協(xié)議也不少,用來測試http,數(shù)據(jù)庫并發(fā)都是很方便快捷的工具,相對于lr來說更靈活與實用,等等
2、我們在什么時候會使用jmeter?
· 在一個項目中我們可能前段還沒有開發(fā)完畢我們想看一下服務器的相應數(shù)據(jù)。
· 比如我們校驗數(shù)據(jù)庫有沒有做校驗,我們可以繞過前端
· 我們想看一下這個接口或者多個接口的并發(fā)量是多少,性能怎么樣
3、.誰在使用?為什么是他在使用?
一般使用者為開發(fā)人員或者測試人員。
開源免費,基于Java編寫,可集成到其他系統(tǒng)可拓展各個功能插件
支持接口測試,壓力測試等多種功能,支持錄制回放,入門簡單
相較于自己編寫框架活其他開源工具,有較為完善的UI界面,便于接口調(diào)試
多平臺支持,可在Linux,Windows,Mac上運行
4、使用jmeter需要了解什么?接口與接口之間的聯(lián)系怎么處理?
· 我們必須了解接口的工作原理
· 需要掌握http中的get和post請求原理
· 需要掌握請求頭,響應頭,請求體個個字段代表什么意思,并且字段的返回值的各代的含義是什么?
· 響應的狀態(tài)碼各代表什么含義·
· json是什么?
· 接口測試用例的設(shè)計方法,以及測試時點
接口之間的聯(lián)系:
接口與接口之間存在聯(lián)系,比如上個接口的返回值是下一個接口的入?yún)?,那我們就要在上個接口返回值賦值變量,供下一個接口調(diào)用。
5、在使用jmeter中我想要的預期結(jié)果和實際結(jié)果是怎樣對比的?
· 我們做所有的測試無非就是預期結(jié)果和實際結(jié)果作對比,如果預期結(jié)果和實際結(jié)果作對比,那么這個接口就是可用的,不相等那么這個接口就是有問題的。
·在jmeter中我們的用斷言做實際結(jié)果和預期結(jié)果的對比,它提供了許多斷言方法,其中最常用的就是響應斷言,在后面我會專門的寫一下響應斷言以及一些常用斷言的用法。
· 我們還需要知道在jmeter中我們斷言的內(nèi)容是啥?這點是很重要的
7、使用jmeter的是的我們的有哪些方面的提升,jmeter的主流方向是什么?
· 對整個前端與后端的一個相互傳輸數(shù)據(jù)原理有了進一步了解
· 可以提高測試效率,可以提早的參與進來,較早的發(fā)現(xiàn)問題,減少開發(fā)成本,縮短整個產(chǎn)品的上線周期,可以給測試流出充裕的時間,保證產(chǎn)品質(zhì)量。
·掌握了接口測試的測試點,已及用例的設(shè)計方法。
jmeter測試的主流方向:
· 用于性能測試,壓力測試
· 接口測試
linux jmeter 命令的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux jmeter 命令,掌握Linux JMeter命令,輕松壓測應用程序,Jmeter命令行啟動能不能產(chǎn)生聚合報告?,JMeter基礎(chǔ)的信息別忘了在本站進行查找喔。
創(chuàng)新互聯(lián)服務器托管擁有成都T3+級標準機房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達10T,機柜接入千兆交換機,能夠有效保證服務器托管業(yè)務安全、可靠、穩(wěn)定、高效運行;創(chuàng)新互聯(lián)專注于成都服務器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認可。
標題名稱:掌握LinuxJMeter命令,輕松壓測應用程序(linuxjmeter命令)
鏈接分享:http://fisionsoft.com.cn/article/cdeijos.html


咨詢
建站咨詢
