性能测试 - 工具 - Apache Bench(ab)

ab命令行参数

-n :总共的请求执行数,缺省是1;
-c: 并发数,缺省是1;
-t:测试所进行的总时间,秒为单位,缺省50000s
-p:POST时的数据文件
-w: 以HTML表的格式输出结果

执行时终端配置

系统在做高并发测试时,有时发现连接数上不去,可以检查下系统的ulimit,
ulimit –n 设置可以打开的文件描述符的最大值
性能测试 - 工具 - Apache Bench(ab)

  • ulimit –a (显示当前所有的 limit 信息)
  • ulimit -n 100000

命令行执行示例

例:总共请求100 并发10

  • 无cookie
    ab -n 100 -c 10 http://xxx
  • 有cookie
    ab -n 100 -c 10 -H “Cookie: xxx” “http://xxx”

测试结果解析

erver Software: Apache #服务器软件
Server Hostname: xxx.com #域名
Server Port: 80 #请求端口号

Document Path: / #文件路径
Document Length: 40888 bytes #页面字节数

Concurrency Level: 10 #请求的并发数
Time taken for tests: 27.300 seconds #总访问时间
Complete requests: 1000 #请求成功数量
Failed requests: 0 #请求失败数量
Write errors: 0
Total transferred: 41054242 bytes #请求总数据大小(包括header头信息)
HTML transferred: 40888000 bytes #html页面实际总字节数
Requests per second: 36.63 [#/sec] (mean) #每秒多少请求,这个是非常重要的参数数值,服务器的吞吐量
Time per request: 272.998 [ms] (mean) #用户平均请求等待时间
Time per request: 27.300 [ms] (mean, across all concurrent requests) # 服务器平均处理时间,也就是服务器吞吐量的倒数
Transfer rate: 1468.58 [Kbytes/sec] received #每秒获取的数据长度
性能测试 - 工具 - Apache Bench(ab)