ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。 ab命令对发出负载的计算机要求很低,既不会占用很高CPU,也不会占用很多内存,但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也须注意,否则一次上太多的负载,可能造成目标服务器因资源耗完,严重时甚至导致死机。
ab运行需要依赖apr-util包,安装命令为:
yum install apr-util
下载apache的rpm包,可以直接去官网手动下载,当然也可以使用命令yumdownloader来完成,yumdownloader是yum-utils包下面的,如果没有安装yum-utils,则需要先安装它。因为解压apache的rpm包时会在当前目录下生成etc、var和usr三个目录,所以建议先创建一个临时目录,命令如下:
mkdir /ab
cd /ab
yum -y install yum-utils
yumdownloader httpd
rpm2cpio httpd-*.rpm | cpio -idmv
上述命令成功后,可以在~/abtmp下的usr/bin中看到一个名为ab的文件,复制到系统PATH下就大功告成,例如:
cp /ab/usr/bin/ab /usr/bin
rm -fr /ab
最基本的关心两个选项 -c -n
例: ./ab -c 100 -n 10000 http://127.0.0.1/index.php
-c 100 即:每次并发100个
-n 10000 即: 共发送10000个请求
ab测试:
测试结果: