ab 测试

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

Options are:

    -n requests    Number of requests to perform  //即requests,用于指定压力测试总共的执行次数。

    -c concurrency  Number of multiple requests to make at a time  //即concurrency,用于指定压力测试的并发数。

    -t timelimit    Seconds to max. to spend on benchmarking  //即timelimit,等待响应的最大时间(单位:秒)。

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    //即windowsize,TCP发送/接收的缓冲大小(单位:字节)。

-B address      Address to bind to when making outgoing connections

    -p postfile    File containing data to POST. Remember also to set -T    //即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。

    -u putfile      File containing data to PUT. Remember also to set -T    //即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。

    -T content-type Content-type header to use for POST/PUT data, eg.      //即content-type,用于设置Content-Type请求头信息,例如:application/x-www-form-urlencoded,默认值为text/plain。

'application/x-www-form-urlencoded'

Default is 'text/plain'

    -v verbosity    How much troubleshooting info to print              //即verbosity,指定打印帮助信息的冗余级别。

    -w              Print out results in HTML tables                    //以HTML表格形式打印结果。

    -i              Use HEAD instead of GET                              //使用HEAD请求代替GET请求。

    -x attributes  String to insert as table attributes                //插入字符串作为table标签的属性。

    -y attributes  String to insert as tr attributes                    //插入字符串作为tr标签的属性。

    -z attributes  String to insert as td or th attributes              //插入字符串作为td标签的属性。

    -C attribute    Add cookie, eg. 'Apache=1234'. (repeatable)          //添加cookie信息,例如:"Apache=1234"(可以重复该参数选项以添加多个)。

    -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip'    //添加任意的请求头,例如:"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                      ////指定使用的代理服务器和端口号,例如:"126.10.10.3:88"。

    -V              Print version number and exit                          //打印版本号并退出。

    -k              Use HTTP KeepAlive feature                            //使用HTTP的KeepAlive特性。

    -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.          //输出结果信息到gnuplot格式的文件中。

    -e filename    Output CSV file with percentages served                  //输出结果信息到CSV格式的文件中。

    -r              Don't exit on socket receive errors.                    //指定接收到错误信息时不退出程序。

-m method      Method name

    -h              Display usage information (this message)                //显示用法信息,其实就是ab -help。

-I              Disable TLS Server Name Indication (SNI) extension

-Z ciphersuite  Specify SSL/TLS cipher suite (See openssl ciphers)

-f protocol    Specify SSL/TLS protocol

                    (SSL2, TLS1, TLS1.1, TLS1.2 or ALL)


虽然ab可以配置的参数选项比较多,但是,一般情况下我们只需要使用形如ab -n数字 -c数字 url路径的命令即可。

譬如,我们对位于nginx服务器上、URL为

localhost/index.php的页面进行压力测试。测试总次数为1000,并发数为100(相当于100个用户同时访问,他们总共访问1000次)。

我们输入DOS命令ab -n 1000 -c 100 http://thinkphp5.com/admin/buyGood

打印结果如下:

root@homestead:/etc# ab -n 1000 -c 100 http://thinkphp5.com/admin/buyGood

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

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

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

Benchmarking thinkphp5.com (be patient)

Completed 100 requests

Completed 200 requests

Completed 300 requests

Completed 400 requests

Completed 500 requests

Completed 600 requests

Completed 700 requests

Completed 800 requests

Completed 900 requests

Completed 1000 requests

Finished 1000 requests

Server Software:        nginx/1.15.8

Server Hostname:        thinkphp5.com

Server Port:            80

Document Path:          /admin/buyGood

Document Length:        44934 bytes

Concurrency Level:      100

Time taken for tests:  170.328 seconds

Complete requests:      1000

Failed requests:        120

(Connect: 0, Receive: 0, Length: 120, Exceptions: 0)

Non-2xx responses:      1000

Total transferred:      45089857 bytes

HTML transferred:      44933857 bytes

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

Time per request:      17032.818 [ms] (mean)

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

Transfer rate:          258.52 [Kbytes/sec] received

Connection Times (ms)

min  mean[+/-sd] median  max

Connect:        0    1  1.4      0      5

Processing:  873 16191 3288.7  16629  21512

Waiting:      872 16190 3288.6  16628  21510

Total:        878 16192 3287.5  16629  21512

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

50%  16629

66%  17074

75%  17572

80%  18120

90%  19521

95%  20382

98%  20797

99%  20944

100%  21512 (longest request)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352

推荐阅读更多精彩内容