天天看点

Apache ab压力测试 笔记

ab.exe目录

apache\bin
           

ab相关指令:

Options are:
    -n requests     Number of requests to perform(请求的总数,默认是1次。)
    -c concurrency  Number of multiple requests to make(并发数,同一时间请求数。)
    -t timelimit    Seconds to max. wait for responses
    -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 for POSTing, eg.
                    'application/x-www-form-urlencoded'
                    Default is 'text/plain'  (设置请求头中的Content-type(针对POST/PUT),比如:application/x-www-form-urlencoded。默认是text/plain。)
    -v verbosity    How much troubleshooting info to print
    -w              Print out results in HTML tables (将测试结果打印到HTML表格中。)
    -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.( 如果后面接的是文件,表示POST请求,文件中包含请求数据,根据数据格式,设置-T参数。)
    -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.
    -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.
    -h              Display usage information (this message)
           

实例:

ab -c 300 -n 300 "http://www.abc.com:80/test/aaaa?a=1&b=2&c=3"
           

测试结果样例:

Apache ab压力测试 笔记
Concurrency Level    并发数多少,等于-c后面的数值
Time taken for tests    测试总耗时
Complete requests    成功收到返回的数目
Failed requests    请求失败数目,可能因为网络连接,异常,请求数据长度等等
Non-2xx responses    表示返回的HTTP status code不是2xx的数目(比如404,401,500...),如果都是2xx,这个指标不显示在结果里面
Requests per second    每秒请求数,等于总请求数/测试总耗时
Time per request    每一个请求平均花费时间。第一个Time per request等于concurrency * timetaken * 1000 / done,第二个Time per request(mean, across all concurrency requests)等于timetaken * 1000 / done,第一个可以理解为用户平均请求等待时间,第二可以理解为服务器平均请求等待时间
           

继续阅读