压力测试工具 ab

时间:2021-11-14 11:45:55

ab 介绍

ab是Apache超文本传输协议(HTTP)的性能测试工具。它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。
个人觉得ab的操作可以说是灰常简单了,可以用傻瓜式来形容,所以本文主要介绍如何看懂指标。

安装

$ yum -y install httpd-tools

概念

  • 吞吐率
    服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率

  • 用户平均请求等待时间
    处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数)

  • 服务器平均请求等待时间
    计算公式:处理完成所有请求数所花费的时间 / 总请求数

开始测试

$ ab -n 100 -c 5 http://test.com/

Requests per second: 19.66 [#/sec] (mean) # 吞吐率,相当于 LR 中的每秒事务数,后面括号中的 mean 表示这是一个平均值
Time per request: 5087.180 [ms] (mean) #用户平均请求等待时间,相当于 LR 中的平均事务响应时间,后面括号中的 mean 表示这是一个平均值
Time per request: 50.872 [ms] (mean, across all concurrent requests) #服务器平均请求处理时间
Transfer rate: 255.47 [Kbytes/sec] received # 平均每秒网络上的流量,带宽其实也是一个主要的限制因素

50% 11
66% 15
75% 21
80% 25
90% 213 # 每个请求处理时间分布,主要看90%的指标
95% 218
98% 222
99% 229
100% 229 (longest request)

关于登录

获取cookie 后添加

ab -n 100 -C key=value http://test.com/