新闻动态

在Linux中如何限制带宽速度以更好的测试应用程序

发布日期:2021-08-16 13:39 | 文章来源:互联网

  【YINGSOO提醒】文章部分内容来源互联网,不代表YINGSOO观点!若有咨询“在Linux中如何限制带宽速度以更好的测试应用程序”等有关服务器、云主机租用、托管、配置、价格问题,请立即咨询YINGSOO客服,简单、便捷、高效!

  【新品优惠】香港站群服务器 | 台湾100M服务器 | 服务器试用

  【推荐阅读】海外游戏服务器租用价格多少合适?该如何选择

在Linux中如何限制带宽速度以更好的测试应用程序

  流量控制命令是每个网络管理员都应该知道的工具。tc所做的是允许管理员配置内核包调度来模拟UDP/TCP应用程序的包延迟和丢失,或者限制特定服务的带宽使用。

  我将在Ubuntu Server 18.04实例上进行演示。您可以在任何Linux服务器上使用此命令,但是工具的安装(如果没有预装)会有所不同。您还将需要一个具有sudo特权的用户。

  一、如何安装tc命令

  如果你发现tc命令在默认情况下没有安装,在Ubuntu上它是用iproute2打包的。所以安装如下:

  sudo apt-get install iproute2 -y

  二、基本用法

  您必须做的第一件事就是找出要应用于内核数据包调度程序的接口的名称。为此,发出命令:

  ip a

  该命令将列出所有网络设备的信息(图A)。

  我将通过向计算机上的ens5接口添加恒定延迟来进行演示。更具体地说,我将设备上的出站流量(出口)延迟200毫秒。为此,命令将是:

  sudo tc qdisc add dev ens5 root tbf rate 1024kbit latency 50ms burst 1540

  上面命令中的选项是:

  qdisc告诉tc修改调度程序

  add告诉tc添加新规则

  dev ens5告诉tc该规则将应用于设备ens5

  root告诉tc修改出站流量调度程序

  tbf速率1024kbit告诉tc将网络降低到1024kbit速率

  50ms延迟告诉tc我们将网络延迟50ms

  1540告诉tc我们的存储大小

  发出命令后,可以验证参数是否已通过命令应用:

  sudo tc qdisc show dev ens5

  您应该看到正确配置了每个选项(图B)。

  要删除新添加的规则,请发出命令:

  sudo tc qdisc del dev ens5 root

  要记住的一件非常重要的事情是,一次只能将一个规则应用于一个接口。因此,为了创建与接口不同的规则,必须首先删除以前的规则。

  三、如何使用tc命令模拟丢包

  举例来说,假设您正在开发应用程序,则需要进行测试以查看其如何处理网络上的数据包丢失。这对于确保您的应用程序可以容忍配置不良或不可靠的网络至关重要。这是两个模拟tc丢包的示例tc命令:

  sudo tc qdisc add dev ens5 root netem loss 0.1%

  上面的命令将随机丢弃数据包,概率为0.1%。

  如果我们希望丢失数据包的概率为0.3%,而先前的数据包的丢包率为25%,该怎么办?该命令将是:

  sudo tc qdisc add dev ens5 root netem loss 0.3% 25%

  运行上述命令后,对网络上的另一台计算机执行ping测试,您应该看到指示的数据包丢失(图C)。

  有了该规则,启动您的应用程序,并查看当网络达不到标准时的运行情况。如果应用程序失败,则您还有更多工作要做。

  如果该特定的丢包规则不足以满足您的要求,则可以采用Gilbert-Elliot方案,该方案定义了两种状态:

  Good

  Bad

  该方案为网络损害提供了更紧密的模型,而不是简单的数据包丢失。要使用Gilbert-Elliot方案,该命令应如下所示:

  sudo tc qdisc add dev ens5 root netem loss gemodel 1% 10% 70% 0.1%

  现在,当我们运行ping测试时,我们应该会看到与以前相似的数字,但是对于您的测试目的,数据包丢失应该更加真实(图D)。

  在这里,您将看到一些使用tc命令在Linux机器上调整网络流量的示例,因此您可以更好地测试可识别网络的应用程序。有关tc的更多信息,请发出命令man tc并仔细阅读手册页。

  畅销产品:香港站群服务器租用去首页注册领券!YINGSOO推出Phala挖矿服务器Chia奇亚农场服务器Swarm物理节点服务器Swarm母鸡服务器Swarm云节点服务器国内矿机服务器海外托管《Phala PHA挖矿资料大全》,《swarm bzz挖矿资料大全》,Swarm Bee节点租用请咨询YINGSOO客服!官网WWW.YINGSOO.com

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部