如何使用apache ab性能測試工具進行壓力測試


作為后端工程師,除了實現業務需求之外,需要考慮的就是自己寫的服務,在大並發下是否能正常運行了。但是,在一般開發情況下,沒那么多大並發情況讓你測試,那該怎么辦呢?

這時候,我們就可以用到apache的壓力測試工具了,apache bench簡稱ab。

 

介紹

ab是apache自帶的壓力測試工具,ab是apache bench命令的縮寫。

當安裝完apache后,就可以在bin下面找到ab.exe然后進行apache 負載壓力測試。

webp

webp

ab命令會創建多個並發訪問線程,模擬多個訪問者同時對某一URL地址進行訪問。它的測試目標是基於URL的,因此,它既可以用來測試apache的負載壓力,也可以測試nginx、lighthttp、tomcat、IIS等其它Web服務器的壓力。

ab命令對發出負載的計算機要求很低,它既不會占用很高CPU,也不會占用很多內存。但是自己測試使用也需要注意,否則一次上太多的負載。可能造成目標服務器資源耗完,嚴重時甚至導致死機。

 

簡單使用

ab壓力測試工具使用非常簡單,只需一個命令即可。

示例:ab -n 200000 -c 20000 http://192.168.1.179/  >>d:1.html 

-n:請求數

-c:並發數

上面的示例表示:每次並發20000個請求,總共請求200000次,並把結果輸出到指定文件里。

webp

 執行結果:

 

結果參數解釋

參數說明:

Document Length:        315 bytes       HTTP響應數據的正文長度

Time taken for tests:   0.914 seconds    所有這些請求處理完成所花費的時間

Complete requests:      800             完成請求數

Failed requests:        0                失敗請求數

Total transferred:      393600 bytes     網絡總傳輸量

HTML transferred:       252000 bytes     HTML內容傳輸量

Requests per second:    875.22 [#/sec] (mean) 吞吐量-每秒請求數

Time per request:       914.052 [ms] (mean)  服務器收到請求,響應頁面要花費的時間

Time per request:       1.143 [ms] (mean, across all concurrent requests) 並發的每個請求平均消耗時間

Transfer rate:          420.52 [Kbytes/sec] received 平均每秒網絡上的流量,可以幫助排除是否存在網絡流量過大導致響應時間延長的問題

網絡上消耗的時間的分解:

Connection Times (ms)

min  mean[+/-sd] median   max

Connect:        0    1   0.5      1       3

##連接的最小時間,平均值,中值,最大值

Processing:   245  534 125.2    570     682

Waiting:       11  386 189.1    409     669

Total:        246  535 125.0    571     684

整個場景中所有請求的響應情況。在場景中每個請求都有一個響應時間

其中 50% 的用戶響應時間小於 571 毫秒

80 % 的用戶響應時間小於 652 毫秒

最大的響應時間小於 684 毫秒

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM