1. 程式人生 > >利用ab壓力工具對服務器進行壓力測試

利用ab壓力工具對服務器進行壓力測試

因此 win request 過大 .exe http cond don bin

假如我們需要對http://letv.com進行壓力測試,指定請求總數為100,並發用戶數為10,我們可以以下面的方式進行測試

$ ab -n 100 -c 10 http://letv.com/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking letv.com (be patient).....done


Server Software: nginx/1.2.1
Server Hostname: letv.com
Server Port: 80

Document Path: /
Document Length: 184 bytes

Concurrency Level: 10
Time taken for tests: 0.396 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Non-2xx responses: 100
Total transferred: 37300 bytes
HTML transferred: 18400 bytes
Requests per second: 252.29 [#/sec] (mean)
Time per request: 39.637 [ms] (mean)
Time per request: 3.964 [ms] (mean, across all concurrent requests)
Transfer rate: 91.90 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 4 5 0.9 5 8
Processing: 4 33 87.4 6 312
Waiting: 4 33 87.3 5 311
Total: 9 39 87.6 12 317

Percentage of the requests served within a certain time (ms)
50% 12
66% 12
75% 13
80% 14
90% 15
95% 316
98% 317
99% 317
100% 317 (longest request)

需要註意的幾個字段是

Requests per second 吞吐率(reqs/s),該字段值為252.29,該值表明了服務器每秒能夠處理的請求數量。
Time per request 平均請求處理時間,可以看到,該字段分為兩行,有兩個不同的值,代表了處理每隔請求所需要的時間,但是第一行的值是第二行的10倍。這是因為我們指定的並發數量為10,第一行為每次並發請求的平均耗時,第二行為每隔請求的耗時,因此,第一行值為第二行的值乘上並發請求數量。可以嘗試將並發數改為20,這樣就會看到第一行是第二行的20倍。
Transfer rate 每秒從服務器獲取的數據的長度。

上面的介紹的是linux中,下面來看看Windows環境下Apache服務器壓力測試工具ab使用說明

在Apache服務器自帶了一個測試程序Ab.exe可以很方便的使用 。。

進入cmd,之後進入ab.exe的目錄

命令是 ab -c 請求數 -n 線程數 網址(建議輸入目標網頁)。。

線程數不宜過大 按照你電腦的承受能力 。。。

例:ab -n 10 -c 10 http://192.168.1.3/index.html

結果如下 。。


D:Apachebin>ab -n 10 -c 10 http://192.168.1.3/index.html
(以上是輸入的命令)

Benchmarking 192.168.1.3 (be patient).....done
Server Software: Apache/2.0.63
(目標服務器Apache版本號)

Server Hostname: 192.168.1.3
(目標服務器主機頭名稱)

Server Port: 80
(目標服務器Apache端口)

Document Path: /index.html
(目標網頁相對地址)

Document Length: 292 bytes
(目標網頁大小)

Concurrency Level: 10
(並發線程數)

Time taken for tests: 0.140625 seconds
(使用時間)

Complete requests: 10
(成功的請求數量)

Failed requests: 0
(失敗的請求數量)

Write errors: 0
(發生錯誤數量)

Total transferred: 5750 bytes
(全部使用的流量)

HTML transferred: 2920 bytes
(Html文件使用的流量)

Requests per second: 71.11 [#/sec] (mean)
(指標一 平均每秒請求數)

Time per request: 140.625 [ms] (mean)
(指標二 平均事務響應時間)

Time per request: 14.063 [ms] (mean, across all concurrent requests)
(每秒請求時間)

Transfer rate: 35.56 [Kbytes/sec] received
(傳輸速率)

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 109 124 16.3 140 140
Waiting: 109 124 16.3 140 140
Total: 109 124 16.3 140 140
(所有請求的響應情況)

Percentage of the requests served within a certain time (ms)
50% 140
66% 140
75% 140
80% 140
90% 140
95% 140
98% 140
99% 140
100% 140 (longest request)

每個請求都有一個響應時間 。。

比如 其中 50% 的用戶響應時間小於 140 毫秒 。。
最大的響應時間小於 140 毫秒 (100% 處) 。。

利用ab壓力工具對服務器進行壓力測試