安裝
直接搜jmeter,注意選國內(nèi)鏡像。

解壓放到 Path\apache-jmeter-5.4.1 然后cmd進(jìn)入bin下,輸入jmeter.bat
入門測試
JMeter是Java實(shí)現(xiàn)的,并且使用一個(gè)Java線程來模擬一個(gè)用戶,一個(gè)線程組Thread Group就是一組用戶。
添加線程組

配置線程組

Number of Threads:用戶數(shù)
Ramp-up period:一般是登錄頻率最高的時(shí)間長度,比如一個(gè)考勤系統(tǒng),從8:30到9:10都有人登錄,但8:55-9:00登錄人數(shù)最多,那么Ramp值就可以設(shè)為 5 * 60 = 300 。表示到Ramp值這么長時(shí)間的時(shí)候,所有用戶一起登錄。如果用戶數(shù)是100的話,表示300 / 100 = 3秒就多加一個(gè)用戶登錄。所以這是持續(xù)加壓的過程。
Loop Count:一個(gè)用戶做多少次測試。如果選中Infinite,那么就一直運(yùn)行了。
添加被測頁面



然后保存并開始。
要看運(yùn)行情況,可以去菜單欄Options勾選Log Viewer,然后就有類似Console的東西了。
添加監(jiān)聽器

添加完結(jié)果樹后,在運(yùn)行完測試后,點(diǎn)擊查看結(jié)果樹即可看到這些。

小心,別放太多請(qǐng)求,免得被封
帶參數(shù)的GET請(qǐng)求
測試內(nèi)容:http://www.baidu.com/s?ie=utf-8&wd=jmeter性能測試
端口號(hào):目標(biāo)服務(wù)器的端口號(hào),默認(rèn)80
中文的話URL Encode?要勾選

POST請(qǐng)求
下面拿我自己的項(xiàng)目測試一下。

如果結(jié)果樹里飄紅了(比如有400錯(cuò)誤),要去服務(wù)器那邊看看報(bào)錯(cuò)。
額外說明
我在測試時(shí)出現(xiàn)過回復(fù)的頁面正確,但數(shù)據(jù)不正確的情況。雖然最后發(fā)現(xiàn)是自己的數(shù)值寫錯(cuò)了,但是有網(wǎng)友說下面的設(shè)置可以解決回復(fù)為空的情況,所以也寫下來吧。
Adavanced → Implementation中,
有加解密的情況下,HTTPClinet在POST時(shí)會(huì)自動(dòng)將特殊字符轉(zhuǎn)義,然而Java在發(fā)送過程中不處理;
JAVA:使用的是JAVA JVM提供的http方法,但有一定的限制,
當(dāng)jmeter釋放一個(gè)請(qǐng)求后,同樣的進(jìn)程中可能不會(huì)再使用了;
只使用于單進(jìn)程模式;
不支持虛擬主機(jī),不支持相關(guān)的方法,不支持存儲(chǔ)證書的請(qǐng)求
HttpClient4.1:使用的是Apache HttpClient4.1部件
空白:使用Http默認(rèn)請(qǐng)求中配置或jmeter.properties中jmeter.httpsample中的配置

聚合報(bào)告

聚合報(bào)告給的是整個(gè)組的。無論這個(gè)組下有幾個(gè)Http request。
匯總報(bào)告比聚合報(bào)告簡單一點(diǎn),主要用聚合報(bào)告吧。下面是聚合報(bào)告示例:
