天天看點

後端工程師如何使用apache ab性能測試工具進行系統壓力測試(比LoadRunner簡單多了)

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

這時候,我們就可以用到apache的壓力測試工具了,apache bench簡稱ab。下面介紹如何使用apache ab性能測試工具進行系統壓力測試。

一、介紹

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

當安裝完apache後,就可以在bin下面找到ab.exe然後進行apache 負載壓力測試。指令格式如下:

後端工程師如何使用apache ab性能測試工具進行系統壓力測試(比LoadRunner簡單多了)
後端工程師如何使用apache ab性能測試工具進行系統壓力測試(比LoadRunner簡單多了)

ab測試工具主要有以下兩個功能:

(1)ab指令會建立多個并發通路線程,模拟多個通路者同時對某一URL位址進行通路。它的測試目标是基于URL的,是以,它既可以用來測試apache的負載壓力,也可以測試nginx、lighthttp、tomcat、IIS等其它Web伺服器的壓力。

(2)ab指令對發出負載的計算機要求很低,它既不會占用很高CPU,也不會占用很多記憶體。但是自己測試使用也需要注意,否則一次上太多的負載。可能造成目标伺服器資源耗完,嚴重時甚至導緻當機。

二、如何使用

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

示例:ab -n 200000 -c 20000

http://192.168.1.179/

  >>d:1.html 

-n:請求數

-c:并發數

上面的示例表示:每次并發20000個請求,總共請求200000次,并把結果輸出到指定檔案裡。

後端工程師如何使用apache ab性能測試工具進行系統壓力測試(比LoadRunner簡單多了)
後端工程師如何使用apache ab性能測試工具進行系統壓力測試(比LoadRunner簡單多了)

 執行結果:

後端工程師如何使用apache ab性能測試工具進行系統壓力測試(比LoadRunner簡單多了)

三、結果參數解釋

參數說明:

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 毫秒

最後

以上,使用apache ab性能測試工具進行系統壓力測試,是不是比LoadRunner簡單多了。

繼續閱讀