1. 程式人生 > >可持續自動化構建微服務(12)Jemeter 壓力測試

可持續自動化構建微服務(12)Jemeter 壓力測試

第十二章 Jemeter 壓力測試

Apache JMeter Apache 組織開發的基於 Java 的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於 Web 應用測試,但後來擴充套件到其他測試領域。 它可以用於測試靜態和動態資源,例如靜態檔案、Java 小服務程式、 CGI 指令碼、 Java 物件、資料庫、 FTP 伺服器, 等等。

JMeter 可以用於對伺服器、網路或物件模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體效能。另外,類別下測試它們的強度和分析整體效能。另外, JMeter 能夠對應用程式做功能/迴歸測試,通過建立帶有斷言的指令碼來驗證你的程式返回了你期望的結果。為了最大限度的靈活性,

JMeter 允許使用正則表示式建立斷言。

12、 Jemeter 壓力測試
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):

設定執行緒需要多長時間全部啟動。如果執行緒數為 1000 ,準備時長為準備時長為 10 ,那麼需要 1 秒鐘啟動 100 個執行緒。 如果設定為 0,就是併發;

Loop Count: 每個執行緒傳送請求的次數。如果執行緒數為 1000 ,迴圈次數為 2 ,那麼每個執行緒傳送 2 次請求。總請求數為 1000*2=2000 。如果勾選了永遠,那麼所有執行緒會一直髮送請求,直到選擇停止執行指令碼。
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 用來做輕量級的壓力測試,非常合適,只需要十幾分鍾,就能把壓力測試需要的指令碼寫好。 測試指令碼被儲存後,可以重複使用, 也可以被匯入到其他的電腦上執行。