Apache ab測試工作用法看你的apache每秒處理多少請求
windows 下先執行cmd 然後 輸入apache的bin目錄 然後執行 ab -n1000 -c10 http://www.qq.com/
比如我的是這樣的
我的apache目錄是在
G:/APMServ5.2.6/Apache/bin/
下面是執行步驟
在XP上 =》 開始 =》 執行 =》 cmd 回車 => g: 回車 => cd APMServ5.2.6/Apache/bin/ 回車 =》
ab -n100 -c10 http://localhost/
首先介紹apache ab(Apache Bench)效能測試工具,這是apache免費自帶的效能測試工具,就在apache的bin目錄下,它能模擬多個併發請求,也就是說它主要是用來測試你的apache每秒能處理多少請求的。
格式:ab [options] [http://]hostname[:port]/path
引數選項:
-A auth-username:password
對伺服器提供BASIC認證信任。 使用者名稱和密碼由一個:隔開,並以base64編碼形式傳送。 無論伺服器是否需要(即, 是否傳送了401認證需求程式碼),此字串都會被髮送。
-c concurrency
一次產生的請求個數。預設是一次一個。
-C cookie-name=value
對請求附加一個Cookie:行。 其典型形式是name=value的一個引數對。 此引數可以重複。
-d
不顯示"percentage served within XX [ms] table"的訊息(為以前的版本提供支援)。
-e csv-file
產生一個以逗號分隔的(CSV)檔案, 其中包含了處理每個相應百分比的請求所需要(從1%到100%)的相應百分比的(以微妙為單位)時間。 由於這種格式已經“二進位制化”,所以比'gnuplot'格式更有用。
-g gnuplot-file
把所有測試結果寫入一個'gnuplot'或者TSV (以Tab分隔的)檔案。 此檔案可以方便地匯入到Gnuplot, IDL, Mathematica, Igor甚至Excel中。 其中的第一行為標題。
-h
顯示使用方法。
-H custom-header
對請求附加額外的頭資訊。 此引數的典型形式是一個有效的頭資訊行,其中包含了以冒號分隔的欄位和值的對 (如, "Accept-Encoding: zip/zop;8bit").
-i
執行HEAD請求,而不是GET。
-k
啟用HTTP KeepAlive功能,即, 在一個HTTP會話中執行多個請求。 預設時,不啟用KeepAlive功能.
-n requests
在測試會話中所執行的請求個數。 預設時,僅執行一個請求,但通常其結果不具有代表意義。
-p POST-file
包含了需要POST的資料的檔案.
-P proxy-auth-username:password
對一箇中轉代理提供BASIC認證信任。 使用者名稱和密碼由一個:隔開,並以base64編碼形式傳送。 無論伺服器是否需要(即, 是否傳送了401認證需求程式碼),此字串都會被髮送。
-q
如果處理的請求數大於150, ab每處理大約10%或者100個請求時,會在stderr輸出一個進度計數。 此-q標記可以抑制這些資訊。
-s
用於編譯中(ab -h會顯示相關資訊)使用了SSL的受保護的https, 而不是http協議的時候。此功能是實驗性的,也是很簡陋的。最好不要用。
-S
不顯示中值和標準背離值, 而且在均值和中值為標準背離值的1到2倍時,也不顯示警告或出錯資訊。 預設時,會顯示 最小值/均值/最大值等數值。(為以前的版本提供支援).
-t timelimit
測試所進行的最大秒數。其內部隱含值是-n 50000。 它可以使對伺服器的測試限制在一個固定的總時間以內。預設時,沒有時間限制。
-T content-type
POST資料所使用的Content-type頭資訊。
-v verbosity
設定顯示資訊的詳細程度 - 4或更大值會顯示頭資訊, 3或更大值可以顯示響應程式碼(404, 200等), 2或更大值可以顯示警告和其他資訊。
-V
顯示版本號並退出。
-w
以HTML表的格式輸出結果。預設時,它是白色背景的兩列寬度的一張表。
-x <table>-attributes
設定<table>屬性的字串。 此屬性被填入<table 這裡 >.
-X proxy[:port]
對請求使用代理伺服器。
-y <tr>-attributes
設定<tr>屬性的字串.
-z <td>-attributes
設定<td>屬性的字串
這麼多引數,其實你大可不必擔心,最基本的關心兩個選項 -c -n
例:ab -c 100 -n 10000 http://www.baidu.com/
-c 100 即:每次併發100個
-n 10000 即: 共傳送10000個請求
唉,無限網速太慢了,沒法登入ssh,只能在windows apache下測試了,但是要注意:
(1).測試的url後面要帶上/。
(2).“-n”表示:每次請求數,預設不能超過1024個,否則需要修改系統程序限制。
(3).“-c”表示:1個請求的併發連線數,預設最大不能超過50000。
- //apache的版本資訊
- Server Software:Apache/2.2.3
- //伺服器主機名
-
Server
- //伺服器斷開
- Server Port:80
- //測試頁面路徑
- Document Path:/
- //文件大小
- Document Length:37826 bytes
- //併發數
- ConcurrencyLevel:10
- //測試持續時間
- Time takenfor tests:27.318 seconds
- //完成請求數量
- Complete requests:20
- //失敗請求數量
- Failed requests:0
- //寫入失敗數量
- Write errors:0
- //網路傳輸總量
- Total transferred:765280 bytes
- //html內容傳輸量
- HTML transferred:756520 bytes
- //平均每秒事務數
- Requests per second:0.73[#/sec] (mean)
- //平均事務響應時間
- Time per request:13658.781[ms](mean)
- //每個請求實際執行時間平均值
- Time per request:1365.878[ms](mean, across all concurrent requests)
- //平均每秒網路上的流量,可以幫助排除是否存在網路流量過大導致響應時間延長的問題
- Transfer rate:27.36[Kbytes/sec] received
- //網路上消耗的時間的分解
- ConnectionTimes(ms)
- min mean[+/-sd] median max
- Connect:26512181399.53463348
- Processing:260299573945.7903314973
- Waiting:79668683409.0763111692
- Total:3204111753709.01055818175
- //下面是請求狀況
- Percentage of the requests served within a certain time(ms)
- 50%10558//50%的童鞋在開啟localhost響應時間小於10558毫秒,下面解釋同理
- 66%13916
- 75%14557
- 80%14938
- 90%15311
- 95%18175
- 98%18175
- 99%18175
- 100%18175(longest request)