性能测试工具-ab介绍

1 ab工具简介:

全称:apache bench;ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。

2 优点

2.1、小巧。
2.2、理论支持655350并发数。
2.3、使用简单方便,一行指令即可,如:ab -c 100 -n 10000 http://192.168.0.32/ 这个例子的意思是100个用户并发访问32环境主页,共10000次请求。
2.4、可精确控制请求次数:一些特殊场景会有此类需求。如上例子,控制访问10000次。

3 缺点

3.1、请求方式单一:普通访问为GET请求,如果要使用POST请求,则需使用文本填写post请求参数。目前没有在linux上实验过。

3.2、请求不能设置检查点,从下面例子中可得:一个必传2个token、若干入参的请求,在传一个token、不传入参…情况下请求,AB工具均返回报告,并不能确定该请求是成功的(业务上的成功)。

4 下载ab工具:

进入apache官网 http://httpd.apache.org/ 下载apache即可

5 启动ab工具:

在windows环境下,apache安装路径为D:\use\Apache24\为例

打开终端进入bin目录下,输入命令

D:\use\Apache24\bin 启动ab

在这里插入图片描述

6 查看AB是否安装成功,ab -V
在这里插入图片描述

7 查看ab的使用参数

有关ab命令的使用,我们可以通过帮助命令进行查看。如下:

ab --help

8 开始测试:

4.1 输入命令 ab -n 100 -c 10 http://baidu.com/ 其中-n 表示请求数,-c表示并发数 命令输入完毕就能出报告(如下图,报告指标分析后面讲)

在这里插入图片描述

4.2 有时候压测需要登录,获取session才能继续业务请求

请求步骤

1 先用账户和密码登录后,用开发者工具找到标识这个会话的Cookie值(Session ID)记下来

2 将该cookie放在header中请求,输入命令:ab -n 1 -c 1 -H " Content-Type=application/x-www-form-urlencoded" http://financial_agent.hou2008.com/ -H是Header的意思

示例:
在这里插入图片描述

3 若需多个cookie便将这些cookie均放入header中,用英文分号隔开

输入命令:ab -n 1 -c 1 -H “X-API-TOKEN=20283766817077352;Content-Type=application/x-www-form-urlencoded” http://financial_agent.hou2008.com/
在这里插入图片描述

4.3 关于参数传递的问题

get请求传递参数 ab -n 10 -c 10 “http://financial_agent.hou2008.com/?Version=1.0&InputCharset=GBK&SignType=MD5&PlatFormCode=CPOTA&OrderNo=TEST0123456784&Sign=185FA68CA23AAE7B3A02A226ABD30297”

注意:请求URL要使用双引号括起来,否则ab无法识别&符号

在这里插入图片描述

post请求传递参数

1 参数文件内容

在这里插入图片描述

输入命令:ab -n 1 -c 1 -T “application/x-www-form-urlencoded” -p p.txt http://financial_agent.hou2008.com/

注意:-T是大写英文字母,-p是参数文档路径,post表单格式为:application/x-www-form-urlencoded

在这里插入图片描述

请求既包含头信息,也包含参数的

ab -n 1 -c 1 -H “X-API-TOKEN=20283766817077352” -T “;Content-Type=application/x-www-form-urlencoded” -p p.txt http://financial_agent.hou2008.com/

在这里插入图片描述

9 报告分析

在这里插入图片描述

服务器信息

这段展示的是web服务器的信息,可以看到服务器采用的是nginx,域名是financial_agent.hou2008.com,端口是80

在这里插入图片描述

文档信息

这段是关于请求的文档的相关信息,所在位置“/”,文档的大小为166 bytes(此为http响应的正文长度)

在这里插入图片描述

这段展示了压力测试的几个重要指标

Concurrency Level: 1 并发请求数

Time taken for tests: 0.057 seconds 整个测试持续的时间

Complete requests: 1 完成的请求数

Failed requests: 0 失败的请求数

Non-2xx responses 返回code码不是2xx的请求数

Total transferred 353 bytes 整个场景中的网络传输量

Total body sent 353 发送的body总数

HTML transferred: 166 bytes 整个场景中的HTML内容传输量

重要指标(后面括号中的 mean 表示这是一个平均值)

Requests per second: 17.56 [#/sec] (mean) 吞吐率,相当于 LR 中的每秒事务数

Time per request: 56.944 [ms] (mean) 用户平均请求等待时间,相当于 LR 中的平均事务响应时间

Time per request: 56.944 [ms] (mean, across all concurrent requests) 服务器平均请求处理时间

Transfer rate: 5.59 [Kbytes/sec] received 平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题

在这里插入图片描述

网络消耗时间
这段表示网络上消耗的时间的分解在这里插入图片描述

响应情况

这段是每个请求处理时间的分布情况,50%的处理时间在684ms内,66%的处理时间在692ms内…,重要的是看90%的处理时间

以上的命令参数未常用参数,要使用更多可ab --help命令查看。

性能测试工具AB

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值