1、概述
在工作的時候,經常被領導問,這個服務可以抗住多大的並發量?吞吐量是多少?QPS、TPS是多少?服務器是否需要增加硬件?是否需要做集群?
剛工作的那幾年,當被問到這些問題時,確實有點蒙,心里沒有底。
因此雖然是開發工程師,但壓力測試的知識還是需要懂一點的,至少能做到心里有底。
2、JMeter
JMeter是apache的開源項目,是用Java語言開發的,是一款簡單易用的壓力測試工具。
3、JMeter的下載
可以到 JMeter 官網(http://jmeter.apache.org/)下載
截圖來源於JMeter官網
截圖來源於JMeter官網
4、JMeter的運行
注意:運行JMeter前,先確保已安裝JDK1.8+版本,並添加環境變量。
將下載的zip文件解壓,在bin目錄下找到 jmeter.bat(Windows) 或 jmeter(macOS) 文件,雙擊即可。
5、修改JMeter界面語言為簡體中文
選擇 Options —> Choose Language —> Chinese(Simplified)
選擇后,界面的語言會變為簡體中文。
6、配置測試計划
測試計划只需要修改下名稱,其他選項默認即可。
7、添加並配置線程組
在測試計划上點擊鼠標右鍵,選擇 添加 —> 線程(用戶)—> 線程組
配置以下參數:
線程數:有多少用戶請求。
Ramp-Up時間(秒):這些用戶請求在多少秒內發起完成,設置為0代表同一時刻並發。
循環次數:每個用戶請求多少次。
(實際請求數 = 線程數 × 循環次數)
8、添加並配置 HTTP請求 取樣器
通常我們測試的都是HTTP接口,在線程組上點擊鼠標右鍵,選擇 添加 —> 取樣器 —> HTTP請求
配置以下參數:
協議:http 或 https。
服務器名稱或IP:服務器的域名或IP地址。
端口號:接口的端口號。
HTTP請求類型:GET、POST、PUT、DELETE等。
路徑:接口的請求路徑。
參數:請求的參數(根據實際接口選填)。
9、添加並配置 HTTP信息頭管理器
有的接口需要配置一些Header信息才能正常訪問。
在線程組上點擊鼠標右鍵,選擇 添加 —> 配置元件 —> HTTP信息頭管理器
根據實際情況添加消息頭
10、添加並配置 監聽器
壓測的結果會顯示在監聽器上,因此我們需要他們,常用的是 察看結果樹 和 聚合報告 這兩個監聽器。
察看結果樹 可以查看每個請求的接口調用詳情。
聚合報告 可以查看本次壓測的指標結果。
11、開始壓測
鼠標點擊測試計划或葉子節點,點擊【啟動】按鈕,即可開始壓測。
點擊 察看結果樹,可以看到每個請求的詳情。
點擊 聚合報告,可以查看本次測試的指標結果。
其中 平均值、中位數、百分位、最小值、最大值的單位都是毫秒(ms)。
12、清除上次壓測數據
當執行下一次壓測時,需要先清理上一次的數據,點擊【清除】或【清除全部】按鈕即可。
13、綜述
今天講了使用JMeter進行壓力測試,按照以上講述的內容操作,應該可以完成大多數情況的壓力測試。
還希望大家多多交流,共同進步。