- 打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具。
- 在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击无法正确运行。
- 执行ab命令成功后,可以看到如图提示。该帮助很清楚详细的介绍了ab的用法以及各个参数的含义。
ab 的用法是:ab [options] [http://]hostname[:port]/path
例如:ab -n 5000 -c 200 http://localhost/index.php
上例表示总共访问http://localhost/index.php这个脚本5000次,200并发同时执行。
ab常用参数的介绍:
-n :总共的请求执行数,缺省是1;
-c: 并发数,缺省是1;
-t:测试所进行的总时间,秒为单位,缺省50000s
-p:POST时的数据文件
-w: 以HTML表的格式输出结果
- 执行测试用例:ab -n 1000 -c 100 -w http://localhost/index.php >>c:\1.html
上面的测试用例表示100并发的情况下,共测试访问index.php脚本1000次,并将测试结果保存到c:\1.html文件中。
- 测试报告如图,可知在该100并发访问的情况下,共测试访问1000次,失败了852次。可知该脚本在此环境无法满足100并发访问的要求。
修改参数继续测试。测试并发50和30两种情况,由测试报告得知,在并发访问降到30时,错误的访问数降为39。
在网上找到了GET方式和POST方式带参数的使用方法:
1.get方法
ab -n 1 -c 1 “http://localhost:2020/welTo.do?pxtId=3000007937&superDo=jack”
字符串使用双引号就可以了
2. POST方法
http://cuisuqiang.iteye.com/blog/1936047 具体参数解析请参考:http://www.ha97.com/4617.html 附注:
N:请求数量
C:并发用户数
N要大于c
./ab----ab的帮助信息查询
AB测试准确性低:
1.Ab只接收请求(判断http请求是否成功,不判断业务是否成功),不接收服务器返回值,jmeter\lr则会接收服务器返回值,所以,AB处理速度快。响应时间快,TPS则大。
Cpu颗粒数越多则速度越快。
2.判断http请求是否成功,不判断业务是否成功,所以,AB需要判断请求成功率
测试结果不一样?
1.确认测试环境是否一样;
2.什么工具测试的。
时间: 2024-10-07 10:38:48