一、环境安装
centos系统
sudo yum -y install httpd-tools
待命令安装完成后,在系统中执行 ab -V 如果一切正常,就能看到 ab 相关信息,说明你的电脑已经安装好了 ab 工具包了
用法说明:
-n 即requests,用于指定压力测试的请求数。
-c 即concurrency,用于指定压力测试的并发数。
-t 即timelimit,等待响应的最大时间(单位:秒)。
-b 即windowsize,TCP发送/接收的缓冲大小(单位:字节)。
-p 即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。
-u 即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。
-T 即content-type,用于设置Content-Type请求头信息,例如:application/x-www-form-urlencoded,默认值为text/plain。
-v 即verbosity,指定打印帮助信息的冗余级别。
-w 以HTML表格形式打印结果。
-i 使用HEAD请求代替GET请求。
-x 插入字符串作为table标签的属性。
-y 插入字符串作为tr标签的属性。
-z 插入字符串作为td标签的属性。
-C 添加cookie信息,例如:”Apache=1234”(可以重复该参数选项以添加多个)。
-H 添加任意的请求头,例如:”Accept-Encoding: gzip”,请求头将会添加在现有的多个请求头之后(可以重复该参数选项以添加多个)。
-A 添加一个基本的网络认证信息,用户名和密码之间用英文冒号隔开转化为base64编码传值。
-P 添加一个基本的代理认证信息,用户名和密码之间用英文冒号隔开。
-X 指定使用的代理服务器和端口号,例如:”126.10.10.3:88”。
-V 打印版本号并退出。
-k 使用HTTP的KeepAlive特性。
-k 使用HTTP的KeepAlive特性。
-d 不显示百分比。
-S 不显示预估和警告信息。
-g 输出结果信息到gnuplot格式的文件中。
-e 输出结果信息到CSV格式的文件中。
-r 指定接收到错误信息时不退出程序。
-h 显示用法信息,其实就是ab -help。
案例操作
用100个并发用户,向 http://www.baidu.com/ 这个网址,持续请求100秒
ab -c 100 -t 100 http://www.baidu.com/
用100个用户并发,总共请求100次
ab -c 100 -n 100 https://www.baidu.com/
GET 请求带参数,用户登录
ab -c 100 -t 10 -p data.txt -T "application/x-www-form-urlencoded" http://192.168.0.1:8380/futureloan/mvc/api/member/register
# data.txt文件内容为
mobilephone=13257008322&pwd=123456
POST 请求,带参数,参数类型为 JSON,用户登录
ab -c 1 -n 1 -p user.json -T "application/json" -v 4 http://192.168.0.1:8808/erp/loginIn
# user.json是请求的参数文件
{"name":"guiyin","pwd":"123456"}