网卡限速工具之WonderShaper

1.什么是WonderShaper

WonderShaper是用来对特定网卡进行快速限速的工具,它实际是对Linux的tc命令进行封装后的shell脚本,所以使用成本比tc更低,更容易上手,以下配合测速工具speedtest一起使用

2.如何安装WonderShaper

#直接拉取wondershaper,开箱即用
git clone https://github.com/magnific0/wondershaper.git

root@****-5491:/home/soft/wondershaper# ./wondershaper -v
Version 1.4.1
root@****-5491:/home/soft/wondershaper

#网速测试工具speedtest安装(Ubuntu)
apt install speedtest-cli
--yum install speedtest-cli (centos) 

3.WonderShaper使用帮助

root@****-5491:/home/soft/wondershaper# ./wondershaper -h
USAGE: ./wondershaper [-hcs] [-a <adapter>] [-d <rate>] [-u <rate>]

Limit the bandwidth of an adapter

OPTIONS:
   -h           Show this message 【帮助信息】
   -a <adapter> Set the adapter  【指定网卡接口】
   -d <rate>    Set maximum download rate (in Kbps) and/or 【限制下载速度(Kbps)】
   -u <rate>    Set maximum upload rate (in Kbps)   【限制上传速度(Kbps)】
   -p           Use presets in "/etc/systemd/wondershaper.conf"
   -f <file>    Use alternative preset file
   -c           Clear the limits from adapter 【清除指定网卡规则,用于取消限速】
   -s           Show the current status of adapter 【显示当前网卡的状态】
   -v           Show the current version  【显示当前版本】

   Configure HIPRIODST in "/etc/systemd/wondershaper.conf" for hosts
   requiring high priority i.e. in case ssh uses dport 443.

MODES:
   wondershaper -a <adapter> -d <rate> -u <rate>
   wondershaper -c -a <adapter>
   wondershaper -s -a <adapter>

EXAMPLES: 【使用示例】
   wondershaper -a eth0 -d 1024 -u 512  【设置网卡eth0的上行速度为512kbps,下行速度为1024kbps】
   wondershaper -a eth0 -u 512 【只设置上行速度为512kbps】
   wondershaper -c -a eth0 【清除网卡eth0的规则】
   wondershaper -p -f foo.conf 【设置指定的配置文件】

4.WonderShaper使用示例

4.1查看网卡状态

root@****-5491:/home/soft/wondershaperifconfig eno1
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.103  netmask 255.255.255.0  broadcast 192.168.5.255
        inet6 fe80::2c93:21f9:1931:304  prefixlen 64  scopeid 0x20<link>
        ether c8:f7:50:7e:50:48  txqueuelen 1000  (Ethernet)
        RX packets 7748809  bytes 1034513376 (1.0 GB)
        RX errors 0  dropped 439  overruns 0  frame 0
        TX packets 15528838  bytes 4784318169 (4.7 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0x91500000-91520000 
        
root@****-5491:/home/soft/wondershaper# ./wondershaper -s -a eno1
qdisc fq_codel 0: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn 
 Sent 4528052159 bytes 14890189 pkt (dropped 0, overlimits 0 requeues 4224) 
 backlog 0b 0p requeues 4224
  maxpacket 66616 drop_overlimit 0 new_flow_count 35953 ecn_mark 0
  new_flows_len 0 old_flows_len 0

--测试网速
root@****-5491:/home/soft/wondershaperspeedtest
Retrieving speedtest.net configuration...
Testing from China Telecom (120.36.98.11)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Fuzhou China Mobile,Fujian (Fuzhou) [589.19 km]: 14.449 ms
Testing download speed................................................................................
-- 下载网速是171.43 Mbit/s,
Download: 171.43 Mbit/s
Testing upload speed......................................................................................................
-- 上传网速是4.15 Mbit/s
Upload: 4.15 Mbit/s

4.2限制网卡速度(单位Kbps)

-- 下行2048kbps=2 Mbit/s,上行 1024kbps=1 Mbit/s
root@****-5491:/home/soft/wondershaper# ./wondershaper -a eno1 -d 2048 -u 1024
--测试网速
root@****e-5491:/home/soft/wondershaperspeedtest
Retrieving speedtest.net configuration...
Testing from China Telecom (120.36.98.11)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Far EasTone Telecom (Miaoli City) [722.10 km]: 174.383 ms
Testing download speed................................................................................
-- 下行速度
Download: 1.80 Mbit/s
Testing upload speed......................................................................................................
--上行速度
Upload: 1.28 Mbit/s
root@****-5491:/home/soft/wondershaper

4.3取消限速

--取消限速
root@****-5491:/home/soft/wondershaper./wondershaper -c -a eno1
-- 查看网卡状态
root@****-5491:/home/soft/wondershaper./wondershaper -s -a eno1
qdisc fq_codel 0: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn 
 Sent 123022 bytes 471 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0

-- 测试网速
root@****-5491:/home/soft/wondershaper# speedtest
Retrieving speedtest.net configuration...
Testing from China Telecom (120.36.98.11)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Far EasTone Telecom (Miaoli City) [722.10 km]: 173.886 ms
Testing download speed................................................................................
Download: 11.29 Mbit/s
Testing upload speed......................................................................................................
Upload: 2.93 Mbit/s
root@****-5491:/home/soft/wondershaper#

5.WonderShaper在测试中的应用

测试项目:某内部数据库迁移工具

测试目的:数据迁移中,对目标端进行限速,当取消限速后,传输速度可以恢复

测试步骤:起迁移进程,在目标端服务器上用WonderShaper工具进行限速:

-- 只限制下行速度
[#22#root@**** ~/wondershaper]22  ./wondershaper -a enp0s3  -d 100

测试结果:限速后,写目标库单位写入行数和单位写入字节数都急剧下降,如下图:

网卡限速工具之WonderShaper
取消限速,恢复网络后,传输速率慢慢恢复:
网卡限速工具之WonderShaper
网卡限速工具之WonderShaper

6.网速单位转换

1KB/s = 8kbps = 8kb/s
比如一般100M的宽带,实际是100Mbps=(100/8) MB/s=12.5 MB/s

7.总结

使用WonderShaper对网卡进行限速,在测试时可以针对性的指定网卡,指定上传速度或者指定下载速度,在测试中上传和下载速度是互不影响的,可以只限制一方;且WonderShaper工具操作简单好入手,是个不错的工具。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9778

(0)
郭靖的头像郭靖
上一篇 2023年9月28日 上午2:17
下一篇 2023年10月8日 下午5:20

相关推荐

  • mysql之两个db实例中有两个表对比

    两个db实例中有两个表对比要确定两个数据库实例中的两个表是否存在差异,你需要比较这两个表的所有数据。这个过程可以通过多种方法实现,以下是几个常见的方法: SQL查询比较如果两个数据库相互可访问(例如,通过数据库链接),你可以编写SQL查询来比较它们的数据。以下是一个简单的例子,演示如何比较两个表的数据: 如果这些查询返回任何行,那么这些行就是两个表之间的差异…

    2024年7月4日
    2.8K00
  • NetSet – 自动化网络流量安全增强工具

    NetSet旨在自动执行多个操作,以帮助用户保护网络流量。它还提供了一种通过Tor收集代理和运行实用程序的简便方法。NetSet安装和使用的也是自动配置,该工具主要用于辅助性网络安全任务。 实现了一种按需使用的终端多路复用器,它的会话通过Tor路由网关。通过自动安装和配置DNSCrypt-proxy来保护DNS流量。Tor Wall功能强制所有流量通过Tor…

    2023年10月8日
    1.7K00
  • pve 虚拟机关机未成功被锁定,如何解决

    有时我们在回滚快照时,因为某一些错误并不能正确回滚,导致LXC容器被锁定,导致我们无法进入系统,只需要在Proxmox VE下输入解锁命令即可解锁。 例如我有一个LXC容器Ubuntu系统,因为快照回滚失败被锁定,容器加了一个锁并变为rollback状态,此时此容器无法打开。 只需要在Proxmox VE命令行窗口输入解锁命令即可解锁。 如果是虚拟机被锁定则…

    2024年6月17日
    2.3K00
  • Linux下查找并删除挖矿程序实例

    症状表现 从外网连接服务器时,间接性断开特别频繁。在断开的时候,从内网也连接不上 排查方法 从链路等硬件方面去排查 通过zabbix监控的服务器的端口,发现这个服务器一直在间断性占用1000M带宽,实际客户购买的带宽15M,这就是客户间断性频繁断网的原因。 在排除了线路等相关问题后,将问题锁定在客户系统内。 在软件中排查 在Linux系统中,我们可以使用to…

    2022年6月14日
    1.6K00
  • Prometheus +grafana 监控PVE

    这边部署Prometheus +grafana,我就不详细描述了,之前的文章都有提到过。 pve后台在数据中心的菜单项里,多了一个度量服务器(Metric Server),中文显示“指标服务器”,翻译得怪怪的。 挡不住好奇,点进去看看,原来是添加远程数据统计服务器InfluxDB或者Graphite。 既然可以添加InfluxDB,那么在此基础上,整合Gra…

    2024年4月11日
    2.1K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信