Apachebench是apache附带的一个性能测试工具,一款轻量级的压力测试工具。ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。
安装 apache,在 C:\Program Files\Apache Group\Apache2\bin目录下找到ab程序,若不需要apache,可以复制出来独立使用,然后卸载apache。
ab.exe 只能测试使用http协议的网站
abs.exe 可以测试使用http或者https协议的网站
测试命令:
ab -n 100 -c 10 http://www.xxx.com
常用参数如下:
-n 总的请求数
-c 并发请求数
-p post请求的参数文件,同时要配合 -T指定参数类型
-u put请求的参数文件,同时要配合 -T指定参数类型
-T 指定模拟request的headers中的Content-Type参数,比如POST请求时使用“application/x-www-form-urlencoded”类型,默认是“text/plain”
常用命令如下:
# 模拟100个客户端请求10000次 $ ab -n 10000 -c 100 http://www.xxx.com/ # 调用POST方法的接口10次,传输的数据格式为JSON $ ab -n 10 -p json-file http://www.xxx.com/ # 调用OPTIONS方法的接口10次 $ ab -n 10 -m OPTIONS http://www.xxx.com/ # 输出每次请求的返回信息 $ ab -n 10 -v 2 http://www.xxx.com/
压力测试相关指标
1. 吞吐量 (Requests per second), RPS, 某个并发用户数下,单位时间内处理的请求数。
2. 并发连接数
3. 并发用户数
4. 用户平均等待时间(Time per request) 处理完成所有请求数所花费的时间/(总请求数/并发用户数)
5. 服务器平均请求等待时间 处理完成所有请求数所花费的时间/总请求数
6. QPS (Queries Per Second), 每秒能处理查询数目, 经常用每秒查询率来衡量域名系统服务器的机器的性能