• 网卡限速工具之WonderShaper


    主题 测试技术 MySQL

    *   G r e a t S Q L 社 区 原 创 内 容 未 经 授 权 不 得 随 意 使 用 , 转 载 请 联 系 小 编 并 注 明 来 源 。

    • 什么是WonderShaper

    • 如何安装 W onderS haper

    • W onderS haper 使用帮助

    • W onderS haper 使用示例

      • 查看网卡状态

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

      • 取消限速

    • W onderS haper 在测试中的应用

    • 网速单位转换

    • 总结

    1.什么是WonderShaper

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

    2.如何安装WonderShaper

    1. #直接拉取wondershaper,开箱即用
    2. git clone https://github.com/magnific0/wondershaper.git
    3. root@****-5491:/home/soft/wondershaper# ./wondershaper -v
    4. Version 1.4.1
    5. root@****-5491:/home/soft/wondershaper#
    6. #网速测试工具speedtest安装(Ubuntu)
    7. apt install speedtest-cli
    8. --yum install speedtest-cli (centos)

    3.WonderShaper使用帮助

    1. root@****-5491:/home/soft/wondershaper# ./wondershaper -h
    2. USAGE: ./wondershaper [-hcs] [-a <adapter>] [-d <rate>] [-u <rate>]
    3. Limit the bandwidth of an adapter
    4. OPTIONS:
    5. -h Show this message 【帮助信息】
    6. -a <adapter> Set the adapter 【指定网卡接口】
    7. -d <rate> Set maximum download rate (in Kbps) and/or 【限制下载速度(Kbps)】
    8. -u <rate> Set maximum upload rate (in Kbps) 【限制上传速度(Kbps)】
    9. -p Use presets in "/etc/systemd/wondershaper.conf"
    10. -f <file> Use alternative preset file
    11. -c Clear the limits from adapter 【清除指定网卡规则,用于取消限速】
    12. -s Show the current status of adapter 【显示当前网卡的状态】
    13. -v Show the current version 【显示当前版本】
    14. Configure HIPRIODST in "/etc/systemd/wondershaper.conf" for hosts
    15. requiring high priority i.e. in case ssh uses dport 443.
    16. MODES:
    17. wondershaper -a <adapter> -d <rate> -u <rate>
    18. wondershaper -c -a <adapter>
    19. wondershaper -s -a <adapter>
    20. EXAMPLES: 【使用示例】
    21. wondershaper -a eth0 -d 1024 -u 512 【设置网卡eth0的上行速度为512kbps,下行速度为1024kbps】
    22. wondershaper -a eth0 -u 512 【只设置上行速度为512kbps】
    23. wondershaper -c -a eth0 【清除网卡eth0的规则】
    24. wondershaper -p -f foo.conf 【设置指定的配置文件】

    4.WonderShaper使用示例

    4.1查看网卡状态

    1. root@****-5491:/home/soft/wondershaper# ifconfig eno1
    2. eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    3. inet 192.168.5.103 netmask 255.255.255.0 broadcast 192.168.5.255
    4. inet6 fe80::2c93:21f9:1931:304 prefixlen 64 scopeid 0x20<link>
    5. ether c8:f7:50:7e:50:48 txqueuelen 1000 (Ethernet)
    6. RX packets 7748809 bytes 1034513376 (1.0 GB)
    7. RX errors 0 dropped 439 overruns 0 frame 0
    8. TX packets 15528838 bytes 4784318169 (4.7 GB)
    9. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
    10. device interrupt 16 memory 0x91500000-91520000
    11. root@****-5491:/home/soft/wondershaper# ./wondershaper -s -a eno1
    12. qdisc fq_codel 0: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
    13. Sent 4528052159 bytes 14890189 pkt (dropped 0, overlimits 0 requeues 4224)
    14. backlog 0b 0p requeues 4224
    15. maxpacket 66616 drop_overlimit 0 new_flow_count 35953 ecn_mark 0
    16. new_flows_len 0 old_flows_len 0
    17. --测试网速
    18. root@****-5491:/home/soft/wondershaper# speedtest
    19. Retrieving speedtest.net configuration...
    20. Testing from China Telecom (120.36.98.11)...
    21. Retrieving speedtest.net server list...
    22. Selecting best server based on ping...
    23. Hosted by Fuzhou China Mobile,Fujian (Fuzhou) [589.19 km]: 14.449 ms
    24. Testing download speed................................................................................
    25. -- 下载网速是171.43 Mbit/s,
    26. Download: 171.43 Mbit/s
    27. Testing upload speed......................................................................................................
    28. -- 上传网速是4.15 Mbit/s
    29. Upload: 4.15 Mbit/s

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

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

    4.3取消限速

    1. --取消限速
    2. root@****-5491:/home/soft/wondershaper# ./wondershaper -c -a eno1
    3. -- 查看网卡状态
    4. root@****-5491:/home/soft/wondershaper# ./wondershaper -s -a eno1
    5. qdisc fq_codel 0: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
    6. Sent 123022 bytes 471 pkt (dropped 0, overlimits 0 requeues 0)
    7. backlog 0b 0p requeues 0
    8. maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
    9. new_flows_len 0 old_flows_len 0
    10. -- 测试网速
    11. root@****-5491:/home/soft/wondershaper# speedtest
    12. Retrieving speedtest.net configuration...
    13. Testing from China Telecom (120.36.98.11)...
    14. Retrieving speedtest.net server list...
    15. Selecting best server based on ping...
    16. Hosted by Far EasTone Telecom (Miaoli City) [722.10 km]: 173.886 ms
    17. Testing download speed................................................................................
    18. Download: 11.29 Mbit/s
    19. Testing upload speed......................................................................................................
    20. Upload: 2.93 Mbit/s
    21. root@****-5491:/home/soft/wondershaper#

    5.WonderShaper在测试中的应用

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

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

    • 测试步骤:起迁移进程,在目标端服务器上用WonderShaper工具进行限速:
      1. -- 只限制下行速度
      2. [#22#root@**** ~/wondershaper]22 ./wondershaper -a enp0s3 -d 100
    • 测试结果:限速后,写目标库单位写入行数和单位写入字节数都急剧下降,如下图:

    取消限速,恢复网络后,传输速率慢慢恢复:

    6.网速单位转换

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

    7.总结

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

  • 相关阅读:
    S7-200SMART利用V90 MODBUS通信控制库控制V90伺服的具体方法和步骤
    Linux下vi文件的时候替换指定的内容
    java集合总结
    net+惠民线上诊疗系统 毕业设计-附源码161026
    《VS2013+ Qt5.6 创建Qt对话框(*.ui 文件, *.h, *.cpp )》
    2023最新性能测试八股文【附答案】,软测人必备!
    element ui 时间日期选择器 el-date-picker 报错 Prop being mutated: “placement“
    postgresql中的stringtype=unspecified有什么作用?
    吴恩达deeplearning.ai:决策树模型
    回顾.NET系列:Framework、Net Core、Net 过往
  • 原文地址:https://blog.csdn.net/m0_73257876/article/details/126618230