Jmeter之模拟弱网进行测试的详解教程

发表于:2021-8-09 09:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:北京-宏哥    来源:博客园

#
Jmeter
分享:
  1.简介
  在实际工作中,网络带宽一定不会是持续稳定的保持某一个值,而是有高有低。因此为了测试场景和实际能够无限的接近,所以我们需要模拟一下来达到效果。还有就是在实际的测试工作中,会因为业务需要,有时限网速,更加符合实际,所以我们也需要模拟弱网进行测试。
  2.查看官网文档
  参考官网文档:cps属性为了模拟低网速,如下图所示:
  3.准备工作
  为了测试出真实的响应时间情况,用jmeter模拟弱网进行工作,我们需要修改一下jmeter的配置。就是修改jmeter.properties文件。在安装jmeter目录找到apache-jmeter-5.0/bin/jmeter.properties文件,找到参数,分别为限制http以及https
  这些分别用于HTTP和HTTPS协议,该属性默认为零,这意味着没有限制。首字母缩写cps代表“每秒字符数”。当您将属性设置为零以上时,带宽将根据您的设置进行调节。
  #httpclient.socket.http.cps=0
  #httpclient.socket.https.cps=0
  如图所示:
  4.cps的计算逻辑
  查看jmeter的JMeter Wiki  在其中可以找到cps的计算逻辑,你也可以直接访问:https://cwiki.apache.org/confluence/display/JMETER/Controlling+Bandwidth+in+JMeter+to+simulate+different+networks 来查看jmeter模拟不同带宽。
  从上图红色圈住的部分我们很容易知道cps的计算逻辑:cps = (target bandwidth in kbps * 1024) / 8,所以cps=B/s的速率。
  5.网络带宽的换算
  1)网络速率
  100Mbps=100Mbit/s即兆比特每秒
  100MB/s=100MBytes/s即兆字节每秒
  1B=8bit
  100Mbps=12.5MB/s,理论上平常的百兆带宽下载速率可以达到12.5MB/s 100MB/s=1001024KB/s=1001024*1024B/s
  2)数据存储对于数据硬盘之类的存储换算比较不同,数据存储是以10进制表示,1MB=1000KB
  6.实战模拟弱网
  1)jmeter分别配置不同的cps测试响应时间的变化,Jmeter简单建立一个访问度娘的测试脚本,如下图所示:
  2)为了避免数据量小不具有代表性,影响测试结果,宏哥这里将线程组设置成了100,默认情况下该接口,测试结果(平均时间0.153s),如下图所示:
  3)响应时间很小,设置cps=40KB/s=40*1024B/s=40960,查看网络延迟情况。
  4)修改配置后,运行jmeter(平均时间0.307s)。可以看到平均网络延迟了0.154s,如下图所示:
  通过这样的设置方法,Jmeter就可以做到弱网测试。
  7.小结
  宏哥简单的例举几个弱网测试工具:Fiddler、Clumsy。Clumsy是基于C语言开发的一款开源网络模拟工具。它能在Windows平台下人工造成不稳定的网络状态,应用它可以方便调试应用程序在极端网络状态下的表现。

     本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号