Apache 壓力測試工具ab


在 Apache 有個叫 ab(ApacheBench) 的程序, 此程序是專門用在做壓力測試用的軟件. ApacheBench(ab) 用來測試 apache 執行效率,可以用來測試網站的壓力工具.

ab 參數

ab 參數:

Usage: /usr/sbin/ab [options] [http[s]://]hostname[:port]/path

Options are:

§ -n requests Number of requests to perform

§ -c concurrency Number of multiple requests to make

§ -t timelimit Seconds to max. wait for responses

§ -p postfile File containg data to POST

§ -T content-type Content-type header for POSTing

§ -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: zop'

§ 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.

§ -g filename Output collected data to gnuplot format file.

§ -e filename Output CSV file with percentages served

§ -s Use httpS instead of HTTP (SSL)

§ -h Display usage information (this message)

ab 使用

ab使用范例:
要執行 1000 次的 connection, 20 次的 concurrent (並行, 同時):

語法: ab -n 1000 -c 20 http://localhost/

產生出來的結果. 要注意的是以下幾個:

§ Time taken for tests: 總共執行花了多久的時間.(以上 1000 次共多久)

§ Requests per second: 每秒平均可以處理多少個 connection.

下面是一個在Windows Azure虛擬機上做的測試,虛擬機性能不怎么樣呀(和這個測試相比 ASP.NET Web Api vs Node.js Benchmark, Take 2)。

Microsoft Windows [Version 6.2.9200]

(c) 2012 Microsoft Corporation. All rights reserved.

 

D:\runnable\test>ab -n 100000 -c 80 -p test.dat -T 'application/json' http://loc

alhost/

This is ApacheBench, Version 2.3 <$Revision: 655654 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/

 

Benchmarking localhost (be patient)

Completed 10000 requests

Completed 20000 requests

Completed 30000 requests

Completed 40000 requests

Completed 50000 requests

Completed 60000 requests

Completed 70000 requests

Completed 80000 requests

Completed 90000 requests

Completed 100000 requests

Finished 100000 requests

 

 

Server Software:        Microsoft-IIS/8.0

Server Hostname:        localhost

Server Port:            80

 

Document Path:          /

Document Length:        5269 bytes

 

Concurrency Level:      80

Time taken for tests:   112.004 seconds

Complete requests:      100000

Failed requests:        0

Write errors:           0

Non-2xx responses:      100000

Total transferred:      553000000 bytes

Total POSTed:           62200000

HTML transferred:       526900000 bytes

Requests per second:    892.83 [#/sec] (mean)

Time per request:       89.603 [ms] (mean)

Time per request:       1.120 [ms] (mean, across all concurrent requests)

Transfer rate:          4821.62 [Kbytes/sec] received

                        542.32 kb/s sent

                        5363.94 kb/s total

 

Connection Times (ms)

              min  mean[+/-sd] median   max

Connect:        0    0   1.3      0      16

Processing:     0   89  65.5     63     532

Waiting:        0   89  65.5     63     532

Total:          0   89  65.5     63     532

 

Percentage of the requests served within a certain time (ms)

  50%     63

  66%     78

  75%     94

  80%     94

  90%    141

  95%    235

  98%    344

  99%    407

 100%    532 (longest request)

 

 

相關文章 :

Apache自帶的壓力測試工具——ab初體驗

ASP.NET Web Api vs Node.js Benchmark, Take 2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM