ab(Apache Bench)是啥?
ab是Apache自带的一个压力测试软件,可以通过ab命令和选项对某个URL进行压力测试。ab建议在linux环境下使用。
为啥要压力测试工具?
因为你不给你的网站压力,你不知道项目的最大的容量是多少,自己的知识有多少。 在一定范围里,压力达到一定程度,动力和容量也就达到顶峰 。所以说没有最大的容量,只有极致的性能优化。
压力测试工具,另一方面也为测试提供一个标准,为当前需要优化提供基础数据。
ab有什么能力?
ab作为Apache自带的软件,虽然性能不是最强,但是作为一般的压力测试已经足够了。
ab的安装
一般已经安装了Apache就不需要安装,需要安装的话可以自行搜索。
ab的主要命令
ab主要使用的两个选项就是-n和-c。其他选项使用命令 **ab -h **进行查看。
命令格式是:ab -n10 -c10 URL
命令解说:
自带的命令选项说明如下
上图所示,-n指的是请求URL的数量,-c是指每次请求的并发数。展示的命令格式的意义就是:对URL进行10次请求,每次并发数是10个,总共请求了100次。
注:URL最后一定要补充一个"/",如: http://www.baidu.com/
测试性能主要关心那几个点?
对于ab工具,我们需要关注的是服务器软件,每秒请求数(Requests per second),单个请求的耗时(Time per request)。
下面是测试的结果解析:
测试的几个原则
1、测试工具和测试数据时,使用到别人的网址时,-n和-c的参数不能太大。
2、测试当前的机器,最好用另一台机器测试。
3、测试修改结果,最好是某个功能完善后才测,否则会导致结果有差异。
ab是Apache超文本传输协议(HTTP)的性能测试工具,其设计意图是描绘当前所安装的Apache服务器的执行性能,主要是显示你安装的Apache服务器每秒可以处理多少个请求,提供需要的基本性能指标,但是没有图形化结果,不能监控,因此ab工具可以用作临时紧急任务和简单测试。
并发数50,请求数5000,向IP为49.233.211.29的9779端口发送get请求“GetAllEquipment”
ab -c 100 -n 5000 http://49.233.211.29:9779/GetAllEquipment
并发数50,请求数5000,向IP为49.233.211.29的9779端口发送post请求“login”,login接口所需要的参数和内容以json格式保存在路径为/home/panqiaoqiao/Desktop/loginParam.txt的文件中
ab -c 50 -n 5000 -p /home/panqiaoqiao/Desktop/loginParam.txt -T application/json http://49.233.211.29:9779/login
方法/步骤1
打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具。
2
在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击无法正确运行。
3
执行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表的格式输出结果
4
执行测试用例:ab -n 1000 -c 100 -w http://localhost/index.php >>c:\1.html
上面的测试用例表示100并发的情况下,共测试访问index.php脚本1000次,并将测试结果保存到c:\1.html文件中。
5
测试报告如图,可知在该100并发访问的情况下,共测试访问1000次,失败了852次。可知该脚本在此环境无法满足100并发访问的要求。
6
修改参数继续测试。测试并发50和30两种情况,由测试报告得知,在并发访问降到30时,错误的访问数降为39。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)