Linux限制网速

因为最近做实验,需要在不同的网速下跑Hadoop程序,查看网速对程序的影响有多大,所以需要有可以控制网速的软件,最后找到一款wondershaper,这款软件确实可以限制网速

首先下载安装wondershaper

在Ubuntu下,安装代码

sudo apt-get install wondershaper

wondershaper 使用

$ sudo wondershaper em1 100 20 (限制em1网卡下载速度100Kb,上传速度20Kb)
$ sudo wondershaper clear em1   (清除em1网卡的网速限制)

note:这里的单位是kb,如果想换成平时说的KB,需要除以8

我这里做了实验, 发现如果设置能1MB的带宽,但是开始的时候都能达到6MB的带宽,之后才能慢慢降下来


但是最后出现一个问题

我设置了传输限制为100MB,但是施加两者之间的传输速度才仅仅几十K,hadoop框架整个完全瘫痪了,有的时候根本访问不到数据,最后甚至到了都无法SSH到节点了,整个系统瘫痪了,不知道这个wondershaper是怎么做到的,最基本本的东西都没有做好


后来我使用清除设置的命令都无法改变节点之间传输速度慢的现状,后来我把安装的wondershaper卸载后,才把网络速度恢复正常,但是这个正常和原来的相比相差好几个数量级,原来最高的传输速度可以到1.32Gbit,现在最高的传输速度100Mbit,平均的传输速度也就在5Mbit左右,这个和原来的相差实在是太大了


查看最大的带宽

ethtool em1

结果类似如下

Settings for em1:
        Supported ports: [ FIBRE ]
        Supported link modes:   1000baseT/Full 
                                10000baseT/Full 
        Supports auto-negotiation: Yes
        Advertised link modes:  1000baseT/Full 
                                10000baseT/Full 
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Speed: 10000Mb/s
        Duplex: Full
        Port: FIBRE
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: d
        Current message level: 0x00000000 (0)
        Link detected: yes



参考博客

1. 怎样在 Linux 中限制网络带宽使用


你可能感兴趣的:(linux)