发布时间:2020/11/12 作者:天马行空 阅读(1224)
ab是apachebench命令的缩写。
ab命令会创建多个并发访问线程,模拟多个访问者同时对某个URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。
ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。
使用这个工具之前首先要找到apache的安装目录,并进入bin目录中(在cmd命令行中进入)。
可以直接输入ab,就能查看到相关的使用帮助说明。
ab命令常用参数说明:
-n :总共的请求执行数,缺省是1;
-c: 并发数,缺省是1;
-t:测试所进行的总时间,秒为单位,缺省50000s
-p:POST时的数据文件
-w: 以HTML表的格式输出结果
100个并发,总计请求1000次:ab -c 100 -n 1000 http://tool.netljc.com/
100个并发,总计请求1000次,将结果保存到html中:ab -c 100 -n 1000 -w http://tool.netljc.com/ >> test.html
关键性能指标说明:
1、并发用户数(Concurrency Level)
要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。
2、吞吐率(Requests per second)
服务器并发处理能力的量化描述,单位是reqs/s,指的是在某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
3、用户平均请求等待时间(Time per request)
计算公式:处理完成所有请求数所花费的时间/(总请求数/并发用户数)
4、服务器平均请求等待时间(Time per request:across all concurrent requests)
计算公式:处理完成所有请求数所花费的时间/总请求数