本文以向mysql數據庫數據表插入數據爲例,介紹Jmeter壓測的基本操做,Jmeter鏈接mysql數據庫操做參見博客"Jmeter鏈接mysql數據庫"。 mysql
操做步驟: sql
-------------------------------------------------------------------------------------------------------------------------------- 數據庫
******************************************************************************** 服務器
------------------------------------------------------------------------------------------------------------------------------ app
一、JDBC request 中寫入數據插入的sql腳本 工具
二、添加響應斷言 性能
右鍵jdbc request –>添加->斷言->響應斷言 測試
根據成功請求返回數據,添加斷言匹配內容。 spa
三、右鍵jdbc request->監聽器->斷言結果 線程
四、添加察看結果樹
五、添加聚合報告,查看壓測結果。
六、線程組種配置參數,設計壓測場景。
線程組參數詳解:
1. 線程數:虛擬用戶數。一個虛擬用戶佔用一個進程或線程。設置多少虛擬用戶數在這裏也就是設置多少個線程數。
2. Ramp-Up Period(in seconds)準備時長:設置的虛擬用戶數須要多長時間所有啓動。若是線程數爲10,準備時長爲2,那麼須要2秒鐘啓動10個線程,也就是每秒鐘啓動5個線程。
3. 循環次數:每一個線程發送請求的次數。若是線程數爲10,循環次數爲2,那麼每一個線程發送2次請求。總請求數爲2*10=2 。若是勾選了"永遠",那麼全部線程會一直髮送請求,一到選擇中止運行腳本。
4. Delay Thread creation until needed:直到須要時延遲線程的建立。
5. 調度器:設置線程組啓動的開始時間和結束時間(配置調度器時,須要勾選循環次數爲永遠)
持續時間(秒):測試持續時間
啓動延遲(秒):測試延遲啓動時間。
七、壓測執行
單擊工具欄綠色箭頭執行
八、查看執行結果
(1)查看斷言結果---(好像沒啥用,察看結果樹中就能夠看到此內容)
(2)查看結果樹
(3)查看聚合報告
錯誤率較高由於參數用戶名用的${__time(mmss,),1秒可插入多條語句,因此用戶名重複。
insert into app_myuser (username,passwd,is_admin) values ('a${__time(mmss,)}','12345678',44);
聚合報告參數詳解:
1. Label:每一個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,這裏顯示的就是 Name 屬性的值
2. #Samples:請求數——表示此次測試中一共發出了多少個請求,若是模擬10個用戶,每一個用戶迭代2次,那麼這裏顯示20
3. Average:平均響應時間——默認狀況下是單個 Request 的平均響應時間,當使用了 Transaction Controller 時,以Transaction 爲單位顯示平均響應時間
4. Median:中位數,也就是 50% 用戶的響應時間
5. 90% Line:90% 用戶的響應時間
6. Min:最小響應時間
7. Max:最大響應時間
8. Error%:錯誤率——錯誤請求數/請求總數 ,
9. Throughput:吞吐量——默認狀況下表示每秒完成的請求數(Request per Second),當使用了 Transaction Controller 時,也能夠表示相似 LoadRunner 的 Transaction per Second 數
10. KB/Sec:每秒從服務器端接收到的數據量,至關於LoadRunner中的Throughput/Sec
通常而言,性能測試中咱們須要重點關注的數據有: #Samples 請求數,Average 平均響應時間,Min 最小響應時間,Max 最大響應時間,Error% 錯誤率及Throughput 吞吐量。
三、