如何在JMeter负载测试中模拟不同的网络速度

随着移动流量超越桌面,移动性能测试变得至关重要。本文介绍如何使用JMeter控制虚拟用户的带宽,模拟不同网络速度,确保应用在各种连接条件下表现良好。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

移动终于超越了桌面流量 - 这种趋势看起来有望上升。但这对我们意味着什么?

对于初学者来说,这意味着现在,我们比以往任何时候都更需要在运行性能测试时关注移动用户。如果我们的移动网站或应用程序表现不佳 - 我们将失去很多业务

 

如何加载测试移动应用程序和具有不同连接速度的站点

在大多数情况下,移动设备用户通过其蜂窝运营商网络访问互联网。覆盖范围将根据其位置而有所不同,这意味着连接速度会有所不同。确保您的网站或应用程序可以完全处理移动设备和平板电脑至关重要 - 即使它们具有不同的互联网连接速度。

 

在今天的文章中,我将向您展示如何通过在JMeter负载测试中控制模拟虚拟用户的带宽来实现此目的。

 

默认情况下,JMeter将尽可能快地发送其采样器定义的请求。这非常适合产生负载 - 但不是很现实,因为真正的用户不会不停地锤击服务器,他们需要一些时间来考虑操作。最重要的是,移动用户受到网络带宽的限制,这可能会使移动用户的速度进一步降低。

 

限制输出带宽以模拟不同的网络速度

 

JMeter确实为您提供了限制输出带宽的选项,以便模拟不同的网络速度。可以通过以下两个属性控制带宽:

1、httpclient.socket.http.cps = 0

2、httpclient.socket.https.cps = 0

 

它们分别用于HTTP和HTTPS协议。属性默认为零,这意味着没有限制。首字母缩写“cps”代表“每秒字符数”。将属性设置为大于零时,将根据您的设置限制带宽。

 

这是计算“cps”的公式:【Kbps又称比特率,指的是数字信号的传输速率,也就是每秒钟传送多少个千位的信息】

cps =(目标带宽,以kbps * 1024为单位)/ 8

例如:要模拟GPRS蜂窝网络速度(下载171 Kbits /秒),相关的CPS值将为:21888(171 * 1024/8)

 

所以这里是如何通过这些属性限制带宽:

1.将这两行添加到user.properties文件中(您可以在JMeter安装的bin文件夹中找到它)

httpclient.socket.http.cps = 21888

 

httpclient.socket.https.cps = 21888

 

您需要重新启动JMeter才能选择这些属性

 

2.或者,您可以通过-J命令行参数传递属性的值,如下所示:

jmeter -Jhttpclient.socket.http.cps = 21888 -Jhttpclient.socket.https.cps = 21888 -t /path/to/your/testplan.jmx

 

以下是一些流行的带宽预设:

 

 

带宽                               

cps价值                          

GPRS

21888

3G

2688000

4G

19200000

WIFI 802.11a / g

6912000

ADSL

1024000

100 Mb LAN

12800000

千兆蓝

1.28

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值