前言html
對於jmeter的使用有不少內容,本章節只是簡單介紹jmeter的兩個方面的內容:一個是使用jmeter模擬postman發送http請求,一個是使用jmete進行壓力測試。java
更多的內容請參考官方文檔:http://jmeter.apache.org/linux
下載地址http://jmeter.apache.org/download_jmeter.cgiweb
本節使用的是jmeter5.0apache
jmeter不須要安裝就可使用,因爲jmeter是使用java編寫的的,因此要運行jmeter必須已經安裝了jdk配置好了java的環境變量,做爲開發的小夥伴,這些基本操做應該我就不囉嗦了。windows
下載完以後解壓,打開程序有兩種方法,一是進入bin目錄點擊jmeter.bat,便可運行jmeter客戶端,打開會彈出兩個窗口,一個是jmeter的命令窗口,一個是GUI窗口;二是直接進入bin目錄下雙擊ApacheJMeter.jar便可運行GUI。對於兩種方法的區別還不是特別清楚,若是有知道的小夥伴,就不要吝嗇了,分享纔是快樂的。併發
下面,我將使用第一種方法來演示。負載均衡
打開界面能夠選擇語言爲中文,可是下次打開仍是英文,若是想一直都是英文,能夠修改配置文件,網上有教程,我就很少說了。post
這個至關於用postman發送請求的功能同樣,也算是一個替代功能吧,若是不想使用postman的可使用這個功能,發送以前若是是post請求的話要設置報文頭和報文體,可是若是是get請求則不用設置報文體。性能
選擇TestPlan,右鍵添加
而後就能夠設置線程數了,一個線程數表明一個用戶,由於這裏我只模擬發送報文,因此就設置一個線程,下面的都默認便可;
添加完成以後,能夠設置要發送的ip、端口、上下文路徑和請求的方法等,固然ip處也可使用域名,端口能夠不寫,默認是80;
而後點擊添加,添加字段和值
爲了查看請求結果,須要添加請求樹(右鍵已經建立的線程組),能夠根據本身的須要,添加聚合報告等等,此處的添加的結果樹能夠查看一個請求返回的結果;
模擬發送一個https://blog.csdn.net/zhuxy604/article/details/81012477,而後查看返回結果
a.設置線程組信息
默認便可
b.設置http請求
c.啓動發送,查看返回結果
前面已經講過了怎麼使用jmeter進行發送請求,這節就是在這個基礎之上在升級,學會使用jmeter進行壓力測試;(參考https://www.cnblogs.com/stulzq/p/8971531.html)
此節是本人查閱資料,而後實踐總結出來的;遇到了不少問題也學會了如何處理這些問題;
壓力測試不能使用GUI界面進行,GUI界面只是輔助,使用壓力測試要從命令窗口進行。
a.需不須要配置jmeter的環境變量?
答:不須要,可是windows打開命令窗口,輸入jmeter命令會提示不是內部命令,緣由是命令是在C盤的路徑下,因此找不到命令,若是不配環境變量,就不能使用這種方法,解決辦法是,命令窗口打開後,切換到jmeter的bin目錄下,而後使用jmeter命令就能夠識別了。
b.如何使用命令?
jmeter的命令有不少,此處只介紹壓測時要執行的命令:
jmeter -n -t testplan/RedisLock.jmx -l testplan/result/result.txt -e -o testplan/webreport
說明:
testplan/RedisLock.jmx 爲測試計劃文件路徑
testplan/result/result.txt 爲測試結果文件路徑
testplan/webreport 爲web報告保存路徑。
這三個路徑都是能夠自定義的,爲了方便起見,我就按照這個目錄,這裏是相對路徑,意思就是在jmeter的路徑下有個testplan的文件夾,若是沒有,則要手動新建,其中RedisLock.jmx是本身要執行的測試計劃文件,result.txt是自動生成的結果文件,每次會自動新建,因此每次測試完都要手動刪除此文件,否則會報已經存在文件的錯誤,
testplan/webreport這個是壓測完成以後生成報告的路徑,新建好目錄以後,內容也會自動生成(每次壓測完還要進行下次壓測,記得必定要清空此文件夾的內容),生成的內容中有一個index.html的文件就是壓測結果的報告,測試完之查看此報告;注意:result和webreport不要使用一個文件夾,由於生成報告的時候要求這兩個目錄都爲空,可是生成報告的過程是有前後順序的,一個先生成,後生成的那個就會由於目錄不爲空而報錯。
c.關於壓測參數的說明:
(參考:https://blog.csdn.net/a656678879/article/details/80053645)
測試報告的結果(吞吐量)tps,表示同一時刻能夠接受的用戶數量,tps越高表示性能越好,這個和應用的優化有很大關係,單臺機器的tps是有限的,生產上可使用負載均衡來提升用戶的併發訪問量;下面的案例只是本機單臺的壓測,壓測過程當中,打開linux,使用top命令來查看CUP和內存的佔用狀況,CUP佔用最高的程序將會放在第一行。
準備工做已經準備完畢後
1.打開Jmeter
打開本身已經保存的執行計劃(注意的是此測試計劃和CMD窗口命令中的測試計劃必定要是同一個,要否則參數設置和執行的不是同一個測試計劃),而後設置線程數、Rame-Up Period(in seconds)和循環次數的參數,記得必定要點擊保存按鈕,否則不生效。
2.CMD打開windows命令窗口
切換到jmeter的bin目錄下
3.執行壓測命令
(在說一遍:此處執行的測試計劃要和窗口的測試計劃是同一個)
jmeter -n -t testplan/登陸-HTTP請求.jmx -l testplan/result/result.txt -e -o testplan/webreport
4.查看生成的報告
關於測試報告,網上查看說明,請自行查閱,這裏就不贅述了。