ab命令 - 网站性能压力测试

Apache 的httpd 工具包中提供了apachebench,可以简单的做网站性能压力测试。

ab的选项主要有如下:

-A auth-username:password:指定连接服务器的基本的认证凭据; 
-c:并发请求数,默认的并发数是1个; 
-C cookie-name=value:添加cookie,参数通常是一个名称 = 值对的形式,此字段可重复。
-g gnuplot-file:将测试结果输出为“gnuolot”文件; 
-h:显示帮助信息; 
-H custom-header:为请求追加一个额外的头信息,参数通常一个有效的标题行的形式,包含冒号分隔的字段值对(例如: "Accept-Encoding: zip/zop;8bit"); 
-i:使用“head”请求方式代替get请求方式; 
-k:激活HTTP中的“keepAlive”特性,即,在一个 HTTP 会话中执行多个请求。默认值是没有keepalive特性; 
-n:指定测试会话使用的请求数; 
-q:当处理超过 150 个请求,ab 输出 每 10%或者 100 个请求,-q 标志将禁止显示这些消息。

-t timelimit  最大基准测试花费的秒数。这意味着-n 50000 使用此基准测试内固定的时间总量。默认是没有时间限制。注意,这是整个测试话费的总时间
-v:设置详细模式等级; 
-w:以HTML表格方式打印结果; 
-X proxy[:port]:使用指定的代理服务器发送请求; 

-f protocol Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL)   协议指定 SSL/TLS 协议 (SSL2、 SSL3、 TLS1,或所有)

最常用的是-c 和 -n 了。

我们可以看一个例子,了解测试的结果。

[minzhu@huohao ~]$ ab -c 50 -n 1000 www.baidu.com/
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 www.baidu.com (be patient)    #这段信息可以使用-q 标志取消显示
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:        BWS/1.1
Server Hostname:        www.baidu.com
Server Port:            80
 
Document Path:          /
Document Length:        100129 bytes    # 测试的站点的文件大小,接近100k
 
Concurrency Level:      50              # 并发请求数
Time taken for tests:   8.052 seconds   # 测试花费的总时间
Complete requests:      1000            # 测试的总请求数
Failed requests:        998             # 失败的请求数
   (Connect: 0, Receive: 0, Length: 998, Exceptions: 0)
Write errors:           0
Total transferred:      101315697 bytes # 总共传输的字节数
HTML transferred:       100337448 bytes # 总共传输的HTML字节数
Requests per second:    124.19 [#/sec] (mean) # 平均每秒处理请求数
Time per request:       402.621 [ms] (mean) # 此处是每个请求平均花费的时间,注意和下边的计算方法不一样
Time per request:       8.052 [ms] (mean, across all concurrent requests) #此处是平均每个请求花费的时间
Transfer rate:          12287.14 [Kbytes/sec] received # 平均每秒传输字节数
 
Connection Times (ms)
              min  mean[+/-sd] median   max        最小值  平均值  中位数  最大值
Connect:        3   90 494.1     25    7029        连接
Processing:    10  272 522.5     86    4754        传输中
Waiting:        4   44  82.1     28    1438        等待
Total:         25  362 712.5    112    7146        总计
 
Percentage of the requests served within a certain time (ms)  # 此处是每个请求完成的百分段
  50%    112
  66%    131
  75%    207
  80%    334
  90%   1099
  95%   1506
  98%   2269
  99%   3514
 100%   7146 (longest request)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值