ab原理
ab是apachebench命令的缩写。
ab原理: ab命令创建多个并发访问线程,模拟多个访问者同时访问一个URL地址。 由于测试目标基于URL,因此可以测试apache负载以及其他Web服务器(如nginx、lighthttp、tomcat和IIS )上的负载。
ab命令对繁重的计算机要求较低,不占用过多的CPU和内存。 但是,目标服务器上的负载很大,其原理类似于CC攻击。 自己测试和使用也需要注意。 否则,一次要承受太多的负荷。 目标服务器的资源已被消耗,严重时可能会死机。
ab安装
ab是apache附带的压力测试工具,源代码安装在apache上时,也会安装ab工具。 ab命令存储在apache安装目录的zzdwd目录中。
如果不想安装apache,可以直接安装apache工具包httpd-tools,如以下命令所示:
yum -y install httpd-tools
可以使用ab -V命令确认是否安装了ab命令。
ab参数的说明
显示ab --help命令帮助
其中-n表示请求数,-c表示并发行数
测试结果分析
a B- n100-c 10http://www.100 baiying.com/wx/index.shtml
测试结果的屏幕截图
本段表示采用nginx服务,域名为www.100baiying.com,端口为80
根据本节,请求的文档的位置为/wx/index.shtml,文档大小为21215字节。 这是与http对应的正文长度
该段显示如下。
//并发请求数
连续等级: 10
//整个测试持续的时间
timetakenfortests 3360.838第二阶段
//已完成的请求数
完成请求: 100
//失败的请求数
故障请求: 0
//整个场景的网络传输量
总传输33602152300字节
//整个场景的html内容的网络传输量
html transferred 33602135938字节
//吞吐率,是重要指标之一,(均值)表示这是平均值
requestspersecond :119.28 [ #/sec ] (成员)
//用户平均请求等待时间
timeperrequest :83.839 [ ms ] (mean )
//服务器平均请求等待时间
timeperrequest :8.384 [ ms (均值,访问所有内容请求) ] ) ) )。
通过平均每秒网络上的流量,有助于消除是否存在网络流量过多而导致响应时间延长的问题
传输速率:2507.02 [ kbytes/sec ]已接收
本段表示网络消耗的时间分解
本部分是每请求处理时间的分布情况,50%的处理时间在4930ms以内,66%的处理时间在5008ms以内.重要的是查看90%的处理时间。
有关登陆的问题
进行压力测试时,建议参考以下步骤。
首先使用帐户和密码登录,然后使用开发人员工具找到并记录标识此会话的Cookie值(Session ID )
如果只有一个饼干,则只需输入命令。
a B- n100-ckey=value http://test.com /
如果需要多个Cookie,请直接设置Header。
a B- n100-h“cookie : key1=value 1; Key2=Value2” http://test.com/
同类压力测量工具: webbench、siege、http_load等