首页 > 代码库 > ab压测

ab压测

  1. 打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具。
  2. 技术分享
  3. 在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击无法正确运行。

    技术分享
  4. 执行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表的格式输出结果

    技术分享
  5. 执行测试用例:ab -n 1000 -c 100 -w http://localhost/index.php >>c:\1.html

    上面的测试用例表示100并发的情况下,共测试访问index.php脚本1000次,并将测试结果保存到c:\1.html文件中。

    技术分享
  6. 测试报告如图,可知在该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.什么工具测试的。

ab压测