因为最近做实验,需要在不同的网速下跑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 中限制网络带宽使用