JMeter的梯度壓測
前言
Apache JMeter 是 Apache 組織基于 Java 開發(fā)的壓力測試工具,用于對軟件做壓力測試。
一般大家所熟悉的壓測腳本方案是,通過一次次去提高線程數(shù)量,來對接口性能峰值進行摸底,如果壓測任務中出現(xiàn)了幾十幾百個接口,每個接口都去壓5min的(10、20、30、40.。。并發(fā))這樣很浪費時間。那么這里介紹另一種方案,可以更高效的對接口的性能進行摸底;即梯度式壓測;
1、 梯度式壓測,需要先安裝,JMeter插件管理器,需要JMeter官網(wǎng)去下載jar包,下載地址:https://jmeter-plugins.org/install/Install/
插件管理器的jar包下載好以后,我們需要把jar包放在lib\ext目錄下邊。然后重啟JMeter客戶端,在Options中,就可以看到我們的plugins-manager,進入頁面后,在available Plugins 里邊搜索jpgc,然后點擊右下角按鈕安裝,完成后重啟JMeter;

2、插件的使用,
在Test Plan中,右鍵添加線程組,Stepping Thread Group

3、線程組的設置方案
這兒需要設置的,已經(jīng)在圖中詳細寫明,具體根據(jù)接口的實際情況去設置線程數(shù),一般的接口上限設置50-70基本就可以了,如果是性能特別好的接口,那么上限就要放大一點,避免還沒摸到性能瓶頸,時間就結束了。設置完成以后,可以通過下面的紅線趨勢圖,看懂屆時線程數(shù)具體是什么執(zhí)行的。

4、請求頭和監(jiān)控的設置
這里我們不多去講HTTP Request 的寫法,只要放在上一步添加的線程組就行,按照下圖去添加,響應時間和TPS趨勢圖的監(jiān)控。

5、結果分析
下圖我們采用的是10-60梯度壓測法,用時7分鐘,一次性成功摸底該接口的性能瓶頸。
通過下面的TPS圖,很明顯,就能看的出來,該接口的最高性能就是350左右,后續(xù)攀升到400以后,就開始報錯且處理不過來,性能開始下降。

以下這種情況,就代表,設置的線程組上限不夠了,TPS還在持續(xù)且穩(wěn)定增長,那么就需要調整線程數(shù)上限。增加并發(fā)數(shù)。

再例舉一種情況,下圖這種,就說明我們線程數(shù)上限設置過大,當然這并不是壞事,畢竟我們沒有真正實際去壓測時并不知道接口實際情況,如果遇到這種情況,在TPS已經(jīng)穩(wěn)定時,stop就可以了,沒必要繼續(xù)壓下去了。

結語
親愛的朋友:
希望本文中描述的問題以及解決方案,可以幫助到您。當然,我們深知,問題和挑戰(zhàn)總是層出不窮,新的情況也在不斷涌現(xiàn)。如果讀者朋友您有更好的方案,或者在實際應用中發(fā)現(xiàn)了文中的不足之處,請不吝分享您的寶貴建議。誠摯地邀請每一位讀者加入我們的行列,共同完善這份教程。
感謝您的閱讀與支持!
Dear frends,
We hope that the questions and solutions presented in this article can
be of assistance to you. Of course, we are fully aware that problems and
challenges are always emerging in an endless stream, and new situations
are constantly arising. If you, our readers, have better solutions or
have discovered any deficiencies in this article through practical
application, please do not hesitate to share your valuable suggestions
with us. We sincerely invite every reader to join us in continuously
improving this tutorial.
Thank you for your reading and support!
See you,Parting is for better meeting!

浙公網(wǎng)安備 33010602011771號