卓象科技:apache的ab測試用法

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

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

卓象科技:apache的ab測試用法

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

ab命令對發出負載的計算機要求很低,它既不會佔用很高CPU,也不會佔用很多記憶體。但卻會給目標伺服器造成巨大的負載,其原理類似CC攻擊。自己測試使用也需要注意,否則一次上太多的負載。可能造成目標伺服器資源耗完,嚴重時甚至導致宕機。

示例 : ab -n 5000 -c 50 http://wind24。top/index。php

50個使用者訪問5000次伺服器

卓象科技:apache的ab測試用法

結果如下 :

卓象科技:apache的ab測試用法

Server Software: Apache/2。4。39

被測試的Web伺服器,這裡我們用的apache

Server Hostname: wind24。top

被測試的域名

Server Port: 80

被測試埠

Document Path: /index。php

請求的具體檔案

Document Length: 227 bytes

請求的檔案index。html大小

Concurrency Level: 50

併發級別,也就是併發數,請求中-c引數指定的數量

Time taken for tests: 7。113 seconds

本次測試總共花費的時間,單位為秒

Complete requests: 5000

本次測試總共發起的請求數量

Failed requests: 0

失敗的請求數量。因網路原因或伺服器效能原因,發起的請求並不一定全部成功,透過該數值和Complete requests相除可以計算請求的失敗率,作為測試結果的重要參考。

Total transferred: 103314 bytes

總共傳輸的資料量,指的是ab從被測伺服器接收到的總資料量,包括index。html的文字內容和請求頭資訊。

HTML transferred: 1135000 bytes

從伺服器接收到的index。html檔案的總大小,等於Document Length*Complete requests=227 bytes*5000=1135000 bytes

Requests per second: 702。89 [#/sec] (mean)

平均(mean)每秒完成的請求數:QPS,這是一個平均值,等於Complete requests/Time taken for tests=5000/7。113=702。89

Time per request: 71。135 [ms] (mean)

從使用者角度看,完成一個請求所需要的時間(因使用者數量不止一個,伺服器完成50個請求,平均每個使用者才接收到一個完整的返回,所以該值是下一項數值的50倍。)

Time per request: 1。423 [ms] (mean, across all concurrent requests)

伺服器完成一個請求的時間。

Transfer rate: 4627。15 [Kbytes/sec] received

網路傳輸速度。對於大檔案的請求測試,這個值很容易成為系統瓶頸所在。要確定該值是不是瓶頸,需要了解客戶端和被測伺服器之間的網路情況,包括網路頻寬和網絡卡速度等資訊。

卓象科技:apache的ab測試用法

這幾行組成的表格主要是針對響應時間也就是第一個Time per request進行細分和統計。一個請求的響應時間可以分成網路連結(Connect),系統處理(Processing)和等待(Waiting)三個部分。表中min表示最小值;mean表示平均值;[+/-sd]表示標準差(Standard Deviation) ,也稱均方差(mean square error),這個概念在中學的數學課上學過,表示資料的離散程度,數值越大表示資料越分散,系統響應時間越不穩定。median表示中位數;max當然就是表示最大值了。

卓象科技:apache的ab測試用法

這個表第一行表示有50%的請求都是在15ms內完成的。以此類推,90%的請求是小於等於1052ms的。剛才我們看到響應時間最長的那個請求是7065ms,那麼顯然所有請求(100%)的時間都是小於等於195毫秒的,也就是表中最後一行的資料肯定是時間最長的那個請求(longest request)。

卓象科技:apache的ab測試用法

卓象科技:apache的ab測試用法