關於 jmeter 效能測試的 侷限性

2021-09-05 01:38:49 字數 970 閱讀 2902

這兩天做壓測,用了constant throughput timer 來限制qps。

被壓測介面最大tps 為110左右,在qps達到110前,qps = tps,而 qps>110後,介面tps會穩定在110。如下圖

再增加執行緒和timer配置都只會導致響應時間的增加,tps 卻不會增加,並且無報錯(注:qps指每秒請求數,tps指每秒處理請求)

我就在想,如果介面 收到的qps 遠大於他的處理能力,理論上應該會報錯,並且處理能力(tps)下降, 那為什麼 tps會穩定呢。

我分析了下測試資料(下圖),

以 10執行緒 40qps 和 75執行緒 300qps為例,

10執行緒時的平均響應時間 為0.113s,他可以造成10/0.113=88 的qps,但因為throughput timer 配置了2400(也就是40qps),所以他實際qps為40

75執行緒時平均響應時間為0.625,對應qps 為75/0.625=120,而我設定的throughput timer是18000(300qps),所以75執行緒時,jmeter根本就沒法提供300qps

500執行緒結果和75執行緒 差不多,雖然 執行緒和 qps配置上去了,但因為響應時間 增加,實際的qps 只能達到120左右。

所以我最終得出結論是,jmeter 能提供的最大qps 只能為介面tps , 也就是說,jmeter不能提供更高的qps 來壓爆介面

另外,我用apache的ab 也做了同樣的測試,結論是一樣的。

對於這個結論 我也很吃驚,不知道有沒有漏洞,歡迎各位拍臉

效能測試 Jmeter

如何更快速的入門jmeter 建議通過錄製指令碼的方式,快速的了解乙個效能測試應該包括的元件以及它們的層級關係。關於錄製方式,請參考 jmeter基礎之 錄製指令碼 如下,通過badboy 工具錄製的乙個指令碼 指令碼過程 登入 126郵箱,給自己發一封郵件,祝自己聖誕快樂!並可以方便的將指令碼匯出...

jmeter效能測試

請參考 jmeter效能測試文章集合 jmeter 菜鳥入門到高階 系列 開源效能測試工具jmeter jmeter badboy環境搭建 badboy使用手冊 壓力測試之badboy和jmeter的簡單使用方法 jmeter 菜鳥入門到高階 系列 jmeter是我從事軟體測試工作以來接觸的第乙個效...

Jmeter效能測試

轉 1 準備好指令碼,非gui模式下執行 在jmeter的bin目錄下執行命令 使用命令 jmeter n t l n 非gui模式 t 需要執行的指令碼檔名,如 xx.jmx l 儲存的檔名,如 xx.jtl jmeter n t e 1 apache jmeter 3.1 test testca...