Linux ab 压力测试工具

在Apache服务器的套件中,有一个叫做 ab (ApacheBench) 的工具。

ApacheBench 主要是用来测试Apache服务器执行效率用的

ApacheBench 可以针对某个特定的 URL 仿真出连续的联机请求

同时还可以仿真出同时间点数个相同的联机请求,因此利用 ApacheBench 可帮助我们在网站开发期间仿真实际上线可能的情况,利用仿真出来的数据做为调整服务器设定或程序的依据。

ab 是 Apache 附带的接口压力测试功能,非常简单易用。在测试服务端程序自身运行时长和跨区测试接口反馈时长时非常有用。

下载

CentOS

$ sudo yum install -y httpd


Ubuntu

$ sudo apt install -y apache2-utils


使用

$ ab -c 10 -n 100 http://ip-api.com/api


参数

    -c: 表示并发数
    -n: 表示请求总数

结果

> $ ab -c 10 -n 100 http://ip-api.com/api
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 ip-api.com (be patient).....done


Server Software:
Server Hostname:        ip-api.com
Server Port:            80

Document Path:          /json
Document Length:        306 bytes

Concurrency Level:      10
Time taken for tests:   6.184 seconds
Complete requests:      100
Failed requests:        0
Total transferred:      46200 bytes
HTML transferred:       30600 bytes
Requests per second:    16.17 [#/sec] (mean)
Time per request:       618.369 [ms] (mean)
Time per request:       61.837 [ms] (mean, across all concurrent requests)
Transfer rate:          7.30 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    3   1.1      3       6
Processing:   528  572  58.4    550     889
Waiting:      528  571  58.7    549     888
Total:        531  575  58.3    552     891

Percentage of the requests served within a certain time (ms)
  50%    552
  66%    565
  75%    574
  80%    600
  90%    635
  95%    656
  98%    890
  99%    891
 100%    891 (longest request)


结果详解

Server Software:        web服务器软件及版本
Server Hostname:        请求的地址
Server Port:            请求的端口

Document Path:          请求的页面路径
Document Length:        页面大小

Concurrency Level:      并发数
Time taken for tests:   测试总共花费的时间
Complete requests:      完成的请求数
Failed requests:        失败的请求数
Write errors:           写入错误
Total transferred:      总共传输字节数,包含http的头信息等
HTML transferred:       html字节数,实际的页面传递字节数
Requests per second:    每秒处理的请求数,服务器的吞吐量(重要)
Time per request:       平均数,用户平均请求等待时间
Time per request:       服务器平均处理时间
Transfer rate:          平均传输速率(每秒收到的速率)


Time per request 是我们测试接口时长时非常关键的字段。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值