1.ab简介
ab是apache自带的压力测试工具,是apachebench命令的缩写。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器如nginx、tomcat、IIS等进行压力测试。
ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。
2.ab的安装
sudo apt-get install apache2-utils
查询版本号
ab -V
命令参数查询
ab -help
在windows下安装
下载地址:Apache VS16 binaries and modules download (apachelounge.com)
解压后通过cmd命令进入路径\Apache24\bin下执行abs
(Windows下输入ab命令只能测试不带加密的http协议)
也可以直接设置一个ab的环境变量,这样就不需要每次都去切换路径了
3.ab的命令与操作
1.ab的常用参数
指令 | 含义 |
-A | 指定连接服务器的基本的认证凭据 |
-c | 指定一次并发向服务器发出请求数 |
-C | 添加cookie |
-g | 将测试结果输出为“gnuolot”文件 |
-h | 显示帮助信息 |
-H | 为请求追加一个额外的头 |
-i | 使用“head”请求方式 |
-k | 激活HTTP中的“keepAlive”特性 |
-n | 指定测试会话使用的请求总数 |
-p | 发送post请求时,指定包含数据的文件 |
-q | 不显示进度百分比 |
-t | 等待响应的最大时间 |
-T | 使用POST数据时,设置内容类型头 |
-v | 设置详细模式等级 |
-w | 以HTML表格方式打印结果 |
-x | 以表格方式输出时,设置表格的属性 |
-X | 使用指定的代理服务器发送请求 |
-y | 以表格方式输出时,设置表格属性 |
2.ab命令测试服务器
发送单个请求
ab https://www.baidu.com/
并发用户数100,总请求数1000
ab -n 1000 -c 100 https://www.baidu.com/
发送含有json的post请求
先将json在本地写好
再通过-p命令传入路径并通过-T命令将类型设置为json
ab -n 10 -c 2 -p 'post.txt' -T 'content-type:application/json' http://api.test.mi.com/mi_
trade/trade_center/api/order/cancelorder