ab测试工具使用

网站压力测试
Usage: ab [options] [http[s]?/]hostname[:port]/path
用法:ab [选项] 地址

选项:

Options are:
-n requests #执行的请求数,即一共发起多少请求。
-c concurrency #请求并发数。
-t timelimit #测试所进行的最大秒数。其内部隐含值是-n 50000,它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
-s timeout #指定每个请求的超时时间,默认是30秒。
-b windowsize #指定tcp窗口的大小,单位是字节。
-B address #指定在发起连接时绑定的ip地址是什么。
-p postfile #指定要POST的文件,同时要设置-T参数。
-u putfile #指定要PUT的文件,同时要设置-T参数。
-T content-type #指定使用POST或PUT上传文本时的文本类型,默认是’text/plain’。
-v verbosity #设置详细模式等级。
-w #将结果输出到html的表中。
-i #使用HEAD方式代替GET发起请求。
-y attributes #以表格方式输出时,设置html表格tr属性
-z attributes #以表格方式输出时,设置html表格th或td属性。
-C attribute #添加cookie,比如’Apache=1234’。(可重复)
-H attribute #为请求追加一个额外的头部,比如’Accept-Encoding: gzip’。(可重复)
-A attribute #对服务器提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即,是否发送了401认证需求代码),此字符串都会被发送。
-P attribute #对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。
-X proxy:port #指定代理服务器的IP和端口。
-V #打印版本信息。
-k #启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求。默认时,不启用KeepAlive功能。
-d #不显示"percentage served within XX [ms] table"的消息(为以前的版本提供支持)。
-q #如果处理的请求数大于150,ab每处理大约10%或者100个请求时,会在stderr输出一个进度计数。此-q标记可以抑制这些信息。
-g filename #把所有测试结果写入一个’gnuplot’或者TSV(以Tab分隔的)文件。此文件可以方便地导入到Gnuplot,IDL,Mathematica,Igor甚至Excel中。其中的第一行为标题。
-e filename #产生一个以逗号分隔的(CSV)文件,其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间。由于这种格式已经“二进制化”,所以比’gnuplot’格式更有用。
-r #当收到错误时不要退出。
-h #输出帮助信息
-Z ciphersuite 指定SSL/TLS密码套件
-f protocol 指定SSL/TLS协议(SSL3, TLS1, TLS1.1, TLS1.2 or ALL)

Server Software: Apache/2.2.25 (服务器软件名称及版本信息)
Server Hostname: localhost (服务器主机名)
Server Port: 80 (服务器端口)
Document Path: /index.php (供测试的URL路径)
Document Length: 10 bytes (供测试的URL返回的文档大小)
Concurrency Level: 100 (并发数)
Time taken for tests: 0.247 seconds (压力测试消耗的总时间)
Complete requests: 1000 (压力测试的总次数)
Failed requests: 0 (失败的请求数)
Write errors: 0 (网络连接写入错误数)
Total transferred: 198000 bytes (传输的总数据量)
HTML transferred: 10000 bytes (HTML文档的总数据量)
Requests per second: 1.60 [#/sec] (mean) //吞吐速率,大家最关心的指标之一
Time per request: 6254.054 [ms] (mean) //用户平均请求等待时间,大家最关心的指标之二
Time per request: 625.405 [ms] (mean, across all concurrent requests) //服务器平均请求处理的时间,大

demo
ab -c 100 -n 1000000 -k http://172.27.0.13/index/index

This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 172.27.0.13 (be patient)
Completed 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Completed 1000000 requests
Finished 1000000 requests

Server Software: swoole-http-server
Server Hostname: 172.27.0.13
Server Port: 80

Document Path: /index/index
Document Length: 7 bytes

Concurrency Level: 100
Time taken for tests: 27.154 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 1000000
Total transferred: 166000000 bytes
HTML transferred: 7000000 bytes
Requests per second: 36827.40 [#/sec] (mean)
Time per request: 2.715 [ms] (mean)
Time per request: 0.027 [ms] (mean, across all concurrent requests)
Transfer rate: 5970.07 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 3
Processing: 0 3 0.7 3 36
Waiting: 0 3 0.7 3 36
Total: 0 3 0.7 3 36

Percentage of the requests served within a certain time (ms)
50% 3
66% 3
75% 3
80% 3
90% 3
95% 4
98% 4
99% 5
100% 36 (longest request)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值