利用wonder shaper模拟弱网&限速的测试场景

文章介绍了在测试异步事件如算法建图文件下发时,如何模拟弱网环境进行中断测试。WonderShaper是一个用于限制网络适配器带宽的工具,简化了流量控制,并能在系统启动时自动运行。通过设置不同的网络速度限制,可以有效地测试接口在不同网络条件下的行为。在进行此类测试时需要注意最小带宽设置,以免导致网络断联。
摘要由CSDN通过智能技术生成

前言

最近在测试一些异步事件时,比如算法建图文件异步下发,由于环境的网速较快,正常下发流程会在几秒内结束,当我们想在这下发过程中进行一些异常中断,比如在下发时候停止算法容器,平台会是怎样的处理方式;另外一种可能的场景是,由于http是有超时时间的,但是开发往往调用接口都是默认有网速很好的前提,如果在弱网环境测试,可能会发生一些超时、断联等情况...因此需要借助一些工具来降低环境的网卡速率,进行弱网&限速&下发场景下的中断测试。

Wonder Shaper 是一个允许用户限制一个或多个网络适配器带宽的脚本。它通过使用 iproute 的 tc 命令来实现,但大大简化了操作,允许在高速(十兆位以上)链路上更好地管理带宽,同时实施了改进的入口整形方法,并且能够限制向下或向上(两者仍然是可能的)。更加方便的是,该软件不强制依赖安装,只需将zip拷入虚机便可直接运行。

获得

zip包访问git页面下载zip包GitHub - magnific0/wondershaper: Command-line utility for limiting an adapter's bandwidth

将zip包拷入目标虚机并解压,会获得如下目录

安装(可选)

可通过脚本形式运行“./wondershaper -a eth0 -u 100 -d 100”执行,也可通过如下步骤将wondershaper安装为本地服务:

sudo make install

可以通过输入以下内容来验证 wondershaper 是否已正确安装:

which wondershaper

执行以下命令,可以让wondershaper 在每次系统启动时都自动开始服务,并且按照wondershaper.conf配置文件中的参数来运行任务,该配置文件的路径为:

sudo vim /etc/systemd/wondershaper.conf

sudo systemctl enable wondershaper.service
sudo systemctl start wondershaper.service

临时测试不建议将限制网速加入开机自启,如果忘关会对后续环境问题的定位造成很大难度

使用(非安装脚本形式)

首先需要找到网络接口的名称,通过以下几个命令都可以查询到网卡的详细信息:

ip addr
route
ifconfig

在确定网卡名称以后,就可以按照以下的命令限制网络带宽:

./wondershaper -a <adapter> -d <rate> -u <rate>

例如,如果网卡名称是eth0,并且需要把上行、下行速率分别限制为 1024 Kbps 和 512 Kbps,就可以执行以下命令:

./wondershaper -a eth0 -d 1024 -u 512

如果要对网卡解除网络带宽的限制,只需要执行:

./wondershaper -c -a eth0

部分参数含义如下:

  • -h显示帮助

  • -a <adapter>设置适配器

  • -d <rate>设置最大下载速率(以 Kbps 为单位)和/或

  • -u <rate>设置最大上传速率(以 Kbps 为单位)

  • -p使用 /etc/systemd/wondershaper.conf 中的预设配置

  • -f <file>使用替代预设文件

  • -c清除适配器的限制

  • -s显示适配器的当前状态

注意

最小的上行带宽和下行带宽要慎重设置(建议-u和-d均不小于200kbps),当设置过小时,虚机会相当于网络断联,导致ssh断联,此时只能通过虚拟化平台重启虚机来清除Wonder Shaper进程,从而放开带宽。如果已经将限速配置加入系统启动项,则会上述规避方法也失效,只能通过TCF的管理页面中、通过控制台进入虚机,放开网速限制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值