一、Apache Bench简介
ApacheBench 是 Apache 服务器自带的一个web压力测试工具,简称ab。ab又是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问,因此可以用来测试目标服务器的负载压力。总的来说ab工具小巧简单,上手学习较快,可以提供需要的基本性能指标,但是没有图形化结果,不能监控。
二、Apache Bench安装
首先需要安装Apache服务器,下载地址:https://www.apachelounge.com/download/,64位操作系统选上面一个压缩包。
安装
Ubuntu
1: 使用apt在线安装:sudo apt install apache2-utils
2: 检查安装是否成功:ab -V
使用
常用参数说明
测试报告解读
例子
(1) 模拟1个客户端请求100次:
ab -n 100 http://www.example.com/
(2) 模拟100个客户端请求10000次:
ab -n 10000 -c 100 http://www.example.com/
(3) 调用POST方法的接口10次,传输的数据格式为JSON:
ab -n 10 -p json-file http://www.example.com/
(4) 调用OPTIONS方法的接口10次:
ab -n 10 -m OPTIONS http://www.example.com/
(5) 输出每次请求的返回信息:
ab -n 10 -v 2 http://www.example.com/
注意事项
- 使用-H Content-Type 不能代替-T Content-Type指定Content-Type 头部
- 如果提示ab: invalid URL,可能是URL最右边缺少/,例如http://www.example.com需要改为http://www.example.com/。
- 需要注意如果压测的HTTP接口是通过返回结果判断是否成功(只要能响应都会返回200状态码),则需要自行去想办法识别失败的请求。