apache自帶的測試工具ab(apache benchmark).在apache的bin目錄。
格式: ./ab [options] [http://]hostname[:port]/path
引數:-n requests number of requests to perform
//在測試會話中所執行的請求個數。預設時,僅執行乙個請求
-c concurrency number of multiple requests to make
//一次產生的請求個數。預設是一次乙個。
-t timelimit seconds to max. wait for responses
//測試所進行的最大秒數。其內部隱含值是-n 50000。它可以使對伺服器的測試限制在乙個固定的總時間以內。預設時,沒有時間限制。
-p postfile file containing data to post
//包含了需要post的資料的檔案.
-t content-type content-type header for posting
//post資料所使用的content-type頭資訊。
-v verbosity how much troubleshooting info to print
//設定顯示資訊的詳細程度 - 4或更大值會顯示頭資訊, 3或更大值可以顯示響應**(404, 200等), 2或更大值可以顯示警告和其他資訊。 -v 顯示版本號並退出。
-w print out results in html tables
//以html表的格式輸出結果。預設時,它是白色背景的兩列寬度的一張表。
-i use head instead of get
// 執行head請求,而不是get。
-x attributes string to insert as table attributes
-y attributes string to insert as tr attributes
-z attributes string to insert as td or th attributes
-c attribute add cookie, eg. 'apache=1234. (repeatable)
//-c cookie-name=value 對請求附加乙個cookie:行。 其典型形式是name=value的乙個引數對。此引數可以重複。
-h attribute add arbitrary header line, eg. 'accept-encoding: gzip' inserted after all normal header lines. (repeatable)
-a attribute add basic www authentication, the attributes
are a colon separated username and password.
-p attribute add basic proxy authentication, the attributes
are a colon separated username and password.
//-p proxy-auth-username:password 對乙個中轉**提供basic認證信任。使用者名稱和密碼由乙個:隔開,並以base64編碼形式傳送。無論伺服器是否需要(即, 是否傳送了401認證需求**),此字串都會被傳送。
//-attributes 設定 屬性的字串. 缺陷程式中有各種靜態宣告的固定長度的緩衝區。另外,對命令列引數、伺服器的響應頭和其他外部輸入的解析也很簡單,這可能會有不良後果。它沒有完整地實現 http/1.x; 僅接受某些'預想'的響應格式。 strstr(3)的頻繁使用可能會帶來效能問題,即, 你可能是在測試ab而不是伺服器的效能。
引數很多,一般我們用 -c 和 -n 引數就可以了. 例如:
這個表示同時處理1000個請求並執行1000次index.php檔案.
//平台apache 版本2.0.54
server hostname: 127.0.0.1
//伺服器主機名
server port: 80
//伺服器端口
document path: /index.html.zh-cn.gb2312
//測試的頁面文件
document length: 1018 bytes
//文件大小
concurrency level: 1000
//併發數
time taken for tests: 8.188731 seconds
//整個測試持續的時間
complete requests: 1000
//完成的請求數量
failed requests: 0
//失敗的請求數量
write errors: 0
total transferred: 1361581 bytes
//整個場景中的網路傳輸量
html transferred: 1055666 bytes
//整個場景中的html內容傳輸量
requests per second: 122.12 [#/sec] (mean)
//大家最關心的指標之一,相當於
lr 中的
每秒事務數
,後面括號中的
mean
表示這是乙個平均值
time per request: 8188.731 [ms] (mean)
//大家最關心的指標之二,相當於
lr 中的
平均事務響應時間
,後面括號中的
mean
表示這是乙個平均值
time per request: 8.189 [ms] (mean, across all concurrent requests)
//每個請求實際執行時間的平均值
transfer rate: 162.30 [kbytes/sec] received
//平均每秒網路上的流量,可以幫助排除是否存在網路流量過大導致響應時間延長的問題
connection times (ms)
min mean[+/-sd] median max
connect: 4 646 1078.7 89 3291
processing: 165 992 493.1 938 4712
waiting: 118 934 480.6 882 4554
total: 813 1638 1338.9 1093 7785
//網路上消耗的時間的分解,各項資料的具體演算法還不是很清楚
percentage of the requests served within a certain time (ms)
50% 1093
66% 1247
75% 1373
80% 1493
90% 4061
95% 4398
98% 5608
99% 7368
100% 7785 (longest request)
//整個場景中所有請求的響應情況。在場景中每個請求都有乙個響應時間,其中50%的使用者響應時間小於1093 毫秒,60% 的使用者響應時間小於1247 毫秒,最大的響應時間小於7785 毫秒
由於對於併發請求,cpu實際上並不是同時處理的,而是按照每個請求獲得的時間片逐個輪轉處理的,所以基本上第乙個time per request時間約等於第二個time per request時間乘以併發請求數
apache的AB測試詳解
apache自帶的測試工具ab apache benchmark 在apache的bin目錄。格式 ab options http hostname port path 引數 n requests number of requests to perform 在測試會話中所執行的請求個數。預設時,僅執...
ab測試工具詳解
n個請求要執行的請求數 c併發性一次發出的多個請求的數量 t timelimit秒 以秒為單位 花在基準測試上這意味著 n 50000 s超時秒數 以秒為單位 等待每個回應預設值是30秒 b windowsize tcp傳送 接收緩衝區的大小,以位元組為單位 b位址建立傳出連線時要繫結的位址 p p...
ab壓力測試工具詳解
yum install httpd toolsab n 2000 c 2 你的url n 總的請求數 c 併發數 k 是否開啟長連線 time taken for tests 髮費的總時間 requests per second 每秒請求數 總請求數除總時間 上面的time per request ...