ab工具使用详解

一、介绍

ab是apache bench命令的缩写。

        ab是Apache超文本传输协议(HTTP)的性能测试工具。它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。

二、原理

        ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它的实用性非常高,可用作测试多种服务器的压力。
        ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。

三、下载和安装

Windows版:

Apache Haus Downloads

访问Apache官网进行下载

 下载完之后解压到相应的位置

Linux版:

CentOS6 默认安装

CentOS7需要手动安装

联网安装:yum install httpd-tools

四、使用

打开cmd命令行(最好以管理员方式),到ab工具的bin目录下,就可以输入ab的命令进行测试了。

ab -n 100 -c 10 http://127.0.0.1:8080/test

注意,一定要是bin目录下,不然会出现不识别ab命令的情况。

如果需要携带参数,发送post请求,要把参数存到一个文件里,这个文件叫postfile(这个文件名字可以随便取,没有扩展名),然后写-p 后面跟文件的路径,我这里写的~/postfile是cenos的写法,如果是windows无法识别,可以写绝对路径。

参数文件写成这种形式,把参数名和参数用等号连接,多个参数&连接

ab -n 2000 -c 200 -k -p ~/postfile -T application/x-www-form-urlencoded http://127.0.0.1:8080/test

这个是windows写法,写参数文件的绝对路径

ab -n 200 -c 20 -k -p D:\httpd-2.4.51-o111l-x64-vc15\Apache24\bin\postfile -T application/x-www-form-urlencoded http://127.0.0.1:8080/mai

如果是get请求就不需要参数文件了,可以直接写

ab -n 200 -c 20 -k http://127.0.0.1:8080/mai?id=101

发送成功是这个样子的

 

下面是参数详解:

-n(常用)发出x个请求
-c(常用)并发一次发出的多个请求数,也就是模拟x个并发
-t(常用)将花费在基准测试上的时间限制为最长秒,在x秒内发请求
-s(常用)等待每个响应的最大超时秒数,默认30秒
-bTCP发送/接收缓冲区的窗口大小(字节)
-B地址进行传出连接时要绑定到的地址
-p(常用)发送POST请求时需要上传的文件,此外还必须设置-T参数。
-u(常用)发送PUT请求时需要上传的文件,此外还必须设置-T参数。
-T(常用)

内容类型用于POST/PUT数据的内容类型标题,默认值为text/plain。例如:application/x-www-form-urlencoded,

-v打印版本号并退出
-w在HTML表格中打印结果
-i使用HEAD而不是GET
-x要作为表属性插入的字符串
-y要作为tr属性插入的字符串
-z要作为td或th属性插入的字符串
-C添加cookie,例如“Apache=1234”。(可重复)
-H添加任意标题行,例如“接受编码:gzip”
-A

添加基本的WWW身份验证,属性是以冒号分隔的用户名和密码。

-P

添加基本代理身份验证,属性是以冒号分隔的用户名和密码。

-X要使用的代理服务器和端口号
-V打印版本号并退出
-k(常用)使用HTTP KeepAlive功能
-d不要在表格中显示已送达的百分位数。
-S不显示服务于表格的百分位数。不显示置信度估计器和警告。
-q执行超过150个请求时不显示进度
-l接受可变文档长度(用于动态页面)
-g将收集的数据输出到gnuplot格式文件。
-e输出提供百分比的CSV文件
-r套接字接收错误时不退出。
-m方法名
-h显示帮助信息

如有不准确的地方或者需要补充的地方欢迎大家指正!

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李硕硕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值