什么是JMeter
JMeter是Apache組織開發的開源軟件,由Java語言實現。
主要用於軟件系統性能測試,他最初被設計用於web測試,后來被擴展到其他領域。
Jmeter特點
http://www.51testing.com/html/34/505934-861655.html
java運行環境安裝
下載jdk:https://www.oracle.com/technetwork/java/javase/downloads/index.html
java環境變量配置
參考這篇文章:https://www.cnblogs.com/xch-yang/p/7629351.html
jmeter下載
下載地址:http://jmeter.apache.org/download_jmeter.cgi
下載完成以后,解壓文件夾,進入目錄:
點擊jmeter.bat進入jmeter界面:
jmeter環境變量配置(可配可不配)
可自行百度,不配置不影響使用可以忽略此步驟。
測試計划:
在展開性能測試的之前,我們要書寫一份性能測試計划,主要包括一下幾個點。
測試計划:測試對象(你要測試的對象),測試人員(我們自己) , 測試目標(性能指標) 總結
jmeter使用:
線程屬性:
線程屬性:
調度器:
點擊調速器,可以進行持續時間設置,這里設置為30S,意思是線程一共要跑30s,然后結束。持續時間為5S意思為,點擊開始執行按鈕后,先不執行,五秒以后再執行。
我們找到多少人去訪問你的程序,進行壓力測試,那么我們應該在哪兒去添加你的程序呢?這個時候我們引入取樣器這個概念。
取樣器(Sampler):動作性元素
代表一次請求-響應的過程,他們是測試用例中動作的發起者,是測試用例的主題元素。
JMeter根據不同的應用預制了很多種動作元素,如果用戶覺得仍然不夠用設置可以用BeanShell 寫自己的動作。
比如HTTP Request Sampler , FTP Request Sampler , JDBC Request Sampler等。
每一種不同類型的 Sample可以根據設置的參數向服務器發出不同類型的請求。
紅色部分就是我們可以進行測試的類型,一般我們測試都是HTTP協議,這是我們訪問百度一個請求:
如果上圖沒有看懂,建議復習下HTTP協議:https://www.cnblogs.com/Chamberlain/p/11064680.html
添加監聽器
如果查看上面請求的結果呢,這個時候我們只需要添加監聽器就可以了。
這些就是jmeter的監聽器,常用的有 查看結果樹 , 聚合報告等。我們逐一添加如下:
查看結果樹:
聚合報告:
聚合報告各項參數解讀:
Samples:樣本數,即運行次數
Average:平均響應時間
Median:中位數,50%響應時間小於此值
90%line:90%響應時間小於此值
Min:最短響應時間
Max:最大響應時間
Error:未命中數/比率,即錯誤比率
Throughput:吞吐量——每秒完成請求事務數(可以理解成TPS或者QPS)
Kb/sec:每秒接收數據量
添加斷言
當有一個請求,服務端會有響應,我們要檢查響應結果是否正確,可以用肉眼去看,但是當工作量大的時候,我們不可能一個個看,這個時候需要斷言。
我們一般添加 “響應斷言”:
我們在測試模式輸入框,輸入baidu就是驗證響應的內容有沒有baidu,這個時候在運行一次,然后點擊查看結果樹。
錯誤的斷言
這個時候我們把添加的斷言隨便輸入雜亂的數據:
這個時候再運行一次,然后查看結果樹:
這個時候你會發現HTTP請求編程紅色了,這就表示斷言失敗,響應結果不包含你剛才輸入的斷言。
300個並發(一點點加 慢慢調試)
如果超時有個超時1000ms時間限制
聚合報告解讀
Samples:樣本數,即運行次數
Average:平均響應時間
Median:中位數,50%響應時間小於此值
90%line:90%響應時間小於此值
Min:最短響應時間
Max:最大響應時間
Error:未命中數/比率,即錯誤比率
Throughput:吞吐量——每秒完成請求事務數(可以理解成TPS或者QPS)
Kb/sec:每秒接收數據量