ab安装
安装之前先 ab -help 试试有没有安装好,apache 中间件自带ab。
centos7.2下安装ab测试
1.ab运行需要依赖apr-util包,安装命令为:
yum install apr-util
2.需要yumdownload命令下载,没有该命令的话,可以:
yum install yum-utils
3.新建一个目录,下载解压用:
cd /usr/local/test/upload/
mkdir abtmp
cd abtmp
yum install yum-utils.noarch
yumdownloader httpd-tools*
rpm2cpio httpd-tools*.rpm | cpio -idmv //rpm2cpio命令用于将rpm软件包转换为cpio格式的文件
4.将./user/bin/ab复制到系统bin下即可:
cp /usr/local/test/upload/abtmp/usr/bin/ab /usr/bin
5.ab –help
ab使用
ab 的用法是:ab [options] [http://]hostname[:port]/path
例如:
ab -n 1000 -c 200 http://123.123.123.123:8089/front/login/loginByVerificationCode.htm
上例表示总共访问登录这个脚本1000次,200并发同时执行,循环了5遍
ab -n 1000 -c 100 -w http://bjmalldemo.mocentre.cn:8089/front/login/loginByVerificationCode.htm>>
/usr/local/test/upload/abreport.html
上面的测试用例表示200并发的情况下,共测试访问登录页面1000次,并将测试结果保存到abreport.html文件中。
ab常用参数的介绍:
-n :总共的请求执行数,缺省是1;(Number of requests)
-c: 并发数,缺省是1;(concurrency)
-t:测试所进行的总时间,秒为单位,缺省50000s
ab结果分析
关注如下几个指标就好:
Requests per second (mean) 相当于 LR 中的 每秒事务数
Time per request (mean)相当于 LR 中的 平均事务响应时间
Percentage of the requests served within a certain time (ms)
传递参数
ab -n 1 -c 1 "http://bjmalldemo.mocentre.cn:8089/#/"
一定要有双引号
ab完成post操作
./ab -n 10 -c 10 -k -p "/usr/local/test/upload/abtmp/login.ab" -T "application/x-www-form-urlencoded" "http://bjmalldemo.mocentre.cn:8089/front/login/loginByVerificationCode.htm"
新建一个 login.ab 文档,文档内容为telephone=13212341234&verificationCode=123456,
-p 文件中是post的内容(可以是json格式,可以是&格式)
-T 指定post文件的编码方式使用urlencode
-k keepalive连接
注意事项
可以利用ab完成不复杂的性能测试,或者造数据,比较适用于单一URL的测试
ab判断成功与否只通过2xx的状态码作为依据,不接收服务器的返回值,但lr却接收服务器完整的返回。所以在同样的响应时间下,ab测试支持的并发数会大于lr,tps也会大于lr。
ab运行并发的时候和所在运行机器上的cpu颗数有关,越多则并发越大。所以在linux下支持的并发大于在Windows下
大并发下数据不准,更多的是看ab本身的性能了而不是服务端的性能