ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。
linux服务器安装:
1、apt-get install apache2-utils
2、ab的安装很简单,安装Apache会自动安装,如果要单独安装ab,可以使用yum安装:
yum -y install httpd-tools
Window安装:
在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击无法正确运行。
ab -c 10 -n 100 https://www.baidu.com/
-c10表示并发用户数为10
-n100表示请求总数为100
https://www.baidu.com/表示请求的目标URL
这行表示同时处理100个请求并运行10次https://www.baidu.com/
ab性能指标,使用ab命令测试的结果:
Document Path: /###请求的资源
Document Length:50679bytes ###文档返回的长度,不包括相应头
Concurrency Level:3000###并发个数
Time takenfortests:30.449seconds ###总请求时间
Complete requests:3000###总请求数
Failed requests:0###失败的请求数
Write errors:0Total transferred:152745000bytes
HTML transferred:152037000bytes
Requests per second:98.52[#/sec] (mean) ###平均每秒的请求数
Time per request:30449.217[ms] (mean) ###平均每个请求消耗的时间
Time per request:10.150[ms] (mean, across all concurrent requests) ###上面的请求除以并发数
Transfer rate:4898.81[Kbytes/sec] received ###传输速率
Connection Times (ms)
min mean[+/-sd] median max
Connect:25427.15598Processing:5184525196.8774830361Waiting:5065395432.8645130064Total:5485065210.5777830436
Percentage of the requests served within a certain time (ms)
50%7778 ###50%的请求都在7778Ms内完成66%11059
75%11888
80%12207
90%13806
95%18520
98%24232
99%24559
100%30436(longest request)
1、吞吐率(Requests per second):
服务器并发处理能力的量化描述,单位是reqs/s,指的是在某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
记住:吞吐率是基于并发用户数的。这句话代表了两个含义:
a、吞吐率和并发用户数相关
b、不同的并发用户数下,吞吐率一般是不同的
计算公式:总请求数/处理完成这些请求数所花费的时间,即
Request per second=Complete requests/Time taken for tests
必须要说明的是,这个数值表示当前机器的整体性能,值越大越好。
2、用户平均请求等待时间(Time per request):
计算公式:处理完成所有请求数所花费的时间/(总请求数/并发用户数),即:
Time per request=Time taken for tests/(Complete requests/Concurrency Level)
3、服务器平均请求等待时间(Time per request:across all concurrent requests):
计算公式:处理完成所有请求数所花费的时间/总请求数,即:
Time taken for/testsComplete requests
可以看到,它是吞吐率的倒数。
同时,它也等于用户平均请求等待时间/并发用户数,即
Time per request/Concurrency Level。
运行在linux上的一个性能测试工具