ab網站壓力測試命令web
格式: ./ab [options] [http://]hostname[:port]/pathapache
-n 測試會話中所執行的請求個數,默認時,僅執行一個請求服務器
-c 一次產生的請求個數。默認是一次一個併發
-t 測試所進行的最大秒數測試
-v 設置顯示信息的詳細程度 - 4或更大值會顯示頭信息, 3或更大值能夠顯示響應代碼(404, 200等), 2或更大值能夠顯示警告和其餘信息。 -V 顯示版本號並退出。網站
通常工做中咱們只用-n 和 -c:url
例:ab -n 1000 -c 150 http://www.baidu.com/.net
-n 1000 表示總請求數爲1000code
-c 150 表示併發用戶數爲150事務
http://www.baidu.com/ 表示這些請求的目標url
#/usr/local/xiaobai/apache2054/bin/ab -n 1000 -c 150 http://www.baidu.com/ This is ApacheBench, Version 2.3 <$Revision: 1748469 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking www.baidu.com (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: BWS/1.1 Server Hostname: www.baidu.com Server Port: 80 Document Path: / Document Length: 111970 bytes Concurrency Level: 150 Time taken for tests: 255.583 seconds Complete requests: 1000 Failed requests: 997 (Connect: 0, Receive: 0, Length: 997, Exceptions: 0) Total transferred: 112443404 bytes HTML transferred: 111494154 bytes Requests per second: 3.91 [#/sec] (mean) Time per request: 38337.393 [ms] (mean) Time per request: 255.583 [ms] (mean, across all concurrent requests) Transfer rate: 429.64 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 4 254 808.3 10 3168 Processing: 306 35690 10708.7 35677 61658 Waiting: 9 12707 11069.7 12257 46407 Total: 1142 35944 10720.6 35738 64657 Percentage of the requests served within a certain time (ms) 50% 35738 66% 38651 75% 38870 80% 41654 90% 50765 95% 55953 98% 58639 99% 58736 100% 64657 (longest request)
Server Software: 被測試web服務軟件名稱他來自於http響應數據的頭信息 Server Hostname: 表示請求的url中的主機部分名稱 Server Port: 測試web服務器軟件的監聽端口 Document Path: 請求的url根的絕對路徑 Document Length: 表示http響應數據的正文長度 Concurrency Level: 併發的用戶數 Time taken for tests: 表示全部這些請求被處理完成所花費的時間總和 Complete requests: 表示總請求書 Failed requests: 失敗的請求總數 Write errors: Total transferred: 全部請求的響應數據長度總和 HTML transferred: 全部請求的響應數據中正文數據的總和,也就是減去了Total transferred 中的HTML響應數據中頭信息的長度 Requests per second:132.12 [#/sec] (mean) 重點:吞吐率,他等於Complete requests / Time taken for tests(至關於 LR 中的 每秒事務數 ,後面括號中的 mean 表示這是一個平均值) Time per request: 用戶平均請求等待時間,他等於Time taken for tests /(Complete requests / Concurrency Level)【至關於 LR 中的 平均事務響應時間】 Time per request: 9.289 [ms] (mean, across all concurrent requests) 服務器平均請求處理時間他等於Time taken for tests / Complete requests (每一個請求實際運行時間的平均值) Transfer rate: 請求在單位時間內從服務器獲取數據的長度他等於Total transferred / Time taken for tests 這個統計選項能夠很好的說明服務器在處理能力達到極限時其出口帶寬的需求量 Percentage of the requests served within a certain time (ms) 用於描述每一個請求處理時間的分佈狀況,例如:50% 1 50%請求處理時間不超過1秒 (這裏所指的處理時間是指:Time per request ) .......... 100% 10 100%請求處理時間不超過10秒
關注的參數:
Requests per second:每秒的請求量,所謂的吞吐率。【這個值越小越好】
Time per request: 3466.517 [ms] (mean) 即平均請求等待時間,也是吞吐率(用戶等待的時間) mean表示平均值
Time per request: 346.652 [ms] (mean, across all concurrent requests) //服務器平均請求響應時間 在併發量爲1時 用戶等待時間相同 【這個值越大越好】
簡單總結下:
Requests per second 的值越小越好,Time per request 的值越大越好