测试技术之AB压力测试
白羽 2018-05-21 来源 :网络 阅读 1026 评论 0

摘要:本文讲述了测试技术AB压力测试功能的安装  AB压力测试的常用参数 AB压力测试实例,希望本文对大家学测试技术有所帮助。


    AB压力测试功能的安装

  centos安装apache bench

  yum install httpd-tools

  WIN下ab测试工具在apache安装目录的bin目录下的ab.exe文件,请使用doc命令打开到“bin/”目录。


  AB压力测试的常用参数

  -n在测试会话中所执行的请求个数。默认时,仅执行一个请求。

  -c一次产生的请求个数。默认是一次一个。

  -t 测试所进行的最大秒数。其内部隐含值是-n 50000,它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。

  -p包含了需要POST的数据的文件。

  -P对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。

  -T POST数据所使用的Content-type头信息。

  -v设置显示信息的详细程度-4或更大值会显示头信息,3或更大值可以显示响应代码(404,200等),2或更大值可以显示警告和其他信息。

  -V显示版本号并退出。

  -i执行HEAD请求,而不是GET。

  -X对请求使用代理服务器。

  -C对请求附加一个Cookie:行。其典型形式是name=value的一个参数对,此参数可以重复。

  -H对请求附加额外的头信息。此参数的典型形式是一个有效的头信息行,其中包含了以冒号分隔的字段和值的对(如,"Accept-Encoding:zip/zop;8bit")。

  -A对服务器提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即,是否发送了401认证需求代码),此字符串都会被发送。

  -h显示使用方法。

  -e产生一个以逗号分隔的(CSV)文件,其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间。由于这种格式已经“二进制化”,所以比'gnuplot'格式更有用。

  -g把所有测试结果写入一个'gnuplot'或者TSV(以Tab分隔的)文件。此文件可以方便地导入到Gnuplot,IDL,Mathematica,Igor甚至Excel中。其中的第一行为标题。

  -i执行HEAD请求,而不是GET。

  -k启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求。默认时,不启用KeepAlive功能。

  -q如果处理的请求数大于150,ab每处理大约10%或者100个请求时,会在stderr输出一个进度计数。此-q标记可以抑制这些信息。


  AB压力测试实例


  通常AB测试只用到-c、-n两个参数,假如我们本地有个a.php的文件,则可执行如下命令: ab -n 1000 -c 100 //127.0.0.1/a.php

  此命令表示模拟每次执行100个请求,总共执行1000次,也可以表示为100人同时在线,每人同一时间发起一个请求,一共发送10次请求。效果如下图:

 测试技术之AB压力测试测试技术之AB压力测试测试技术之AB压力测试


  可以看到每次请求的数量为100个,请求了10次,总请求为1000个。 Document Path:请求的文件 Requests per second:每秒钟可以接收多少个请求。 Time per request:用户平均请求等待时间 Time per request(across all concurrent requests):服务器平均请求等待时间 Transfer rate:平均每秒网络上的流量,吞吐量,越大抗压越强


  Connection Times:网络上消耗的时间的分解


  分别有连接、处理、等待的值


  Percentage Of The Requests Served Within A Certain Time:整个场景中所有请求的响应情况


  在场景中每个请求都有一个响应时间,其中50%的用户响应时间小于25 毫秒,66%的用户响应时间小于27 毫秒,最大的响应时间小于37 毫秒。


  由于对于并发请求,cpu实际上并不是同时处理的,而是按照每个请求获得的时间片逐个轮转处理的,所以基本上第一个Time per request时间约等于第二个Time per request时间乘以并发请求数。


  有了上述的各项指标,我们可以进行多次请求,不断修改-c、-n的值来取得apache的最佳请求数量,从而进行优化配置。需要注意的是每个请求连接得出的结果均不一样。测试的时候可以对多个连接进行测试。

 


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程