Intro
ApacheBench壓力測試工具,Windows安裝XAMPP即Apache就有內建。
執行檔案
以Windows XAMPP為例,找到安裝目錄下Apache執行檔目錄:
D:\xampp\apache\bin\ab.exe
HTTPS傳輸
Windows XAMPP使用ab.exe
測試HTTPS的網站會有錯誤:
SSL not compiled in; no https support
HTTPS協定是使用abs.exe
執行:
D:\xampp\apache\bin\abs.exe
Linux的
apache2-utils
即等於abs.exe
使用方法
同時 10 個連線,連續訪問 100 次 (每個 Request 執行完後自動重連)
ab -n 100 -c 10 http://www.example.com/
同時 10 個連線,連續訪問 100 次,並且使用 Keep-Alive 方式連線 (Web Server需支援Keep-Alive
功能)
ab -n 100 -c 10 -k https://www.example.com/
參數說明列表
Usage: D:\xampp\apache\bin\ab.exe [options] [http://]hostname[:port]/path
Options are:
-n requests Number of requests to perform
-c concurrency Number of multiple requests to make at a time
-t timelimit Seconds to max. to spend on benchmarking
This implies -n 50000
-s timeout Seconds to max. wait for each response
Default is 30 seconds
-b windowsize Size of TCP send/receive buffer, in bytes
-B address Address to bind to when making outgoing connections
-p postfile File containing data to POST. Remember also to set -T
-u putfile File containing data to PUT. Remember also to set -T
-T content-type Content-type header to use for POST/PUT data, eg.
'application/x-www-form-urlencoded'
Default is 'text/plain'
-v verbosity How much troubleshooting info to print
-w Print out results in HTML tables
-i Use HEAD instead of 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)
-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.
-X proxy:port Proxyserver and port number to use
-V Print version number and exit
-k Use HTTP KeepAlive feature
-d Do not show percentiles served table.
-S Do not show confidence estimators and warnings.
-q Do not show progress when doing more than 150 requests
-l Accept variable document length (use this for dynamic pages)
-g filename Output collected data to gnuplot format file.
-e filename Output CSV file with percentages served
-r Don't exit on socket receive errors.
-m method Method name
-h Display usage information (this message)