1. 程式人生 > >Apache ab測試工作用法看你的apache每秒處理多少請求

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。

  1. //apache的版本資訊
  2. Server Software:Apache/2.2.3
  3. //伺服器主機名
  4. Server
    Hostname: localhost
  5. //伺服器斷開
  6. Server Port:80
  7. //測試頁面路徑
  8. Document Path:/
  9. //文件大小
  10. Document Length:37826 bytes
  11. //併發數
  12. ConcurrencyLevel:10
  13. //測試持續時間
  14. Time takenfor tests:27.318 seconds
  15. //完成請求數量
  16. Complete requests:20
  17. //失敗請求數量
  18. Failed requests:0
  19. //寫入失敗數量
  20. Write errors:0
  21. //網路傳輸總量
  22. Total transferred:765280 bytes
  23. //html內容傳輸量
  24. HTML transferred:756520 bytes
  25. //平均每秒事務數
  26. Requests per second:0.73[#/sec] (mean)
  27. //平均事務響應時間
  28. Time per request:13658.781[ms](mean)
  29. //每個請求實際執行時間平均值
  30. Time per request:1365.878[ms](mean, across all concurrent requests)
  31. //平均每秒網路上的流量,可以幫助排除是否存在網路流量過大導致響應時間延長的問題
  32. Transfer rate:27.36[Kbytes/sec] received
  33. //網路上消耗的時間的分解
  34. ConnectionTimes(ms)
  35. min mean[+/-sd] median max
  36. Connect:26512181399.53463348
  37. Processing:260299573945.7903314973
  38. Waiting:79668683409.0763111692
  39. Total:3204111753709.01055818175
  40. //下面是請求狀況
  41. Percentage of the requests served within a certain time(ms)
  42. 50%10558//50%的童鞋在開啟localhost響應時間小於10558毫秒,下面解釋同理
  43. 66%13916
  44. 75%14557
  45. 80%14938
  46. 90%15311
  47. 95%18175
  48. 98%18175
  49. 99%18175
  50. 100%18175(longest request)