Apachebench压力测试

Apachebench

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.test.com/path

访问page url时,要在尾部加“/path”,表明测试访问的是页面内容;
访问api url时,不用加,表明测试访问的是数据接口。

常用参数如下:

-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.test.com/

# 调用POST方法的接口10次,传输的数据格式为JSON
$ ab -n 10 -p json-file http://www.test.com/

# 调用OPTIONS方法的接口10次
$ ab -n 10 -m OPTIONS http://www.test.com/

# 输出每次请求的返回信息
$ ab -n 10 -v 2 http://www.test.com/

压力测试相关指标

1. 吞吐量 (Requests per second), RPS, 某个并发用户数下,单位时间内处理的请求数。
2. 并发连接数
3. 并发用户数
4. 用户平均等待时间(Time per request) 处理完成所有请求数所花费的时间/(总请求数/并发用户数)
5. 服务器平均请求等待时间 处理完成所有请求数所花费的时间/总请求数
6. QPS (Queries Per Second), 每秒能处理查询数目, 经常用每秒查询率来衡量域名系统服务器的机器的性能

 


参考: https://www.jianshu.com/p/bd12863365b8
         https://blog.csdn.net/fooelliot/article/details/89888110

posted @ 2020-05-19 14:27  全玉  阅读(1202)  评论(0编辑  收藏  举报