ab的完整名字是 apache bench, 它是用來測試WEB Server遇到大量存取時的反應時間.
比如說我們公司新架了一台WEB主機, 但我怎麼知道這台主機能服務多少使用者呢??
貼心的apache有提供一個簡易的測試工具, 使用方法如下
# ab -c 300 -n 10000 -k http://主機域名或IP/index.html
-c 是指同時連線數
-n 是指總共要連幾次
-k keep-alive
Benchmarking servername.yourdomain (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software:
Server Hostname: servername.yourdomain
Server Port: 80
Document Path: /
Document Length: 131620 bytes
Concurrency Level: 300
Time taken for tests: 11.425 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 0
Total transferred: 1322320935 bytes
HTML transferred: 1318799389 bytes
Requests per second: 875.27 [#/sec] (mean)
Time per request: 342.752 [ms] (mean)
Time per request: 1.143 [ms] (mean, across all concurrent requests)
Transfer rate: 113025.98 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 1 16 87.8 8 1013
Processing: 24 314 68.7 330 736
Waiting: 2 19 27.2 11 273
Total: 25 330 106.2 338 1645
Percentage of the requests served within a certain time (ms)
50% 338
66% 340
75% 342
80% 345
90% 362
95% 421
98% 523
99% 571
100% 1645 (longest request)
可以看到統計後的數據, 最後的數據表示 50% 都小於 338ms, 99% 小於 571ms.
這樣對於WEB主機規格和設定調整就有基本的依據了.