可持續自動化構建微服務(12)Jemeter 壓力測試
Apache JMeter 是 Apache 組織開發的基於 Java 的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於 Web 應用測試,但後來擴充套件到其他測試領域。 它可以用於測試靜態和動態資源,例如靜態檔案、Java 小服務程式、 CGI 指令碼、 Java 物件、資料庫、 FTP 伺服器, 等等。
JMeter 可以用於對伺服器、網路或物件模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體效能。另外,類別下測試它們的強度和分析整體效能。另外, JMeter 能夠對應用程式做功能/迴歸測試,通過建立帶有斷言的指令碼來驗證你的程式返回了你期望的結果。為了最大限度的靈活性,
12.1 安裝 Jemeter
下載地址: http://jmeter.apache.org
12.2 解壓檔案
下載解壓到某個盤,我放在了 D 盤
12.3 啟動 jemeter
在安裝目錄的 bin 資料夾裡,點選“jmeter.bat” , 啟動成功後的介面
如果是英文版請點選 Options>Choose Language>Chinese(Simplified),切換成簡體中文。
12.4 體驗 jemeter
12.4.1 準備一個待測試的服務
我們用 eclipse 開發一個 spring-cloud-service
啟動後,訪問瀏覽器 http://localhost:8007/hello/myname
可以看到,這個服務有一個引數 user 是需要的。
12.4.2 建立 jemeter 壓測內容
接下來,我們模擬 1000 使用者訪問該服務
12.4.2.1 建立測試計劃
輸入“名稱”資訊點選儲存即可。
12.4.2.2 建立執行緒組
右鍵點選“spring-cloud-service 壓測” ,新增>Threads(Users)>執行緒組
12.4.2.3 設定執行緒數
Number of Threads:一個使用者佔一個執行緒, 1000 個執行緒就是模擬 1000 個使用者
Ramp-Up Period(in seconds):
12.4.2.4 新增 CSV Data Set Config
我們的服務需要傳遞一個引數值, 那麼我們可以先建立一個 csv 檔案,裡面只有一列資訊。右鍵點選執行緒組>新增>配置元件> CSV Data Set Config, 並填寫相關資訊
12.4.2.4 建立 HTTP 請求
右鍵點選執行緒組>新增>Sampler>HTTP 請求, 並填寫相關引數
12.4.2.5 新增 Summary Report
右鍵點選執行緒組>新增>監聽器> Summary Report, 用來檢視測試結果
還可以新增很多監聽器的內容, 如“圖形結果”、 “聚合報告”等等。
12.4.3 開始執行
到目前為止, 指令碼就全寫好了,點選開始進行壓力測試
12.4.4 測試結果
壓力測試結果很快就出現了。
Jmeter 用來做輕量級的壓力測試,非常合適,只需要十幾分鍾,就能把壓力測試需要的指令碼寫好。 測試指令碼被儲存後,可以重複使用, 也可以被匯入到其他的電腦上執行。