位置:海鸟网 > IT > linux/Unix >

Linux下简单限制网卡带宽的设置方法

Linux下限制网卡的带宽,可用来模拟服务器带宽耗尽,从而测试服务器在此时的访问效果。

1、安装iproute


 

复制代码

代码如下:

yum -y install iproute

2、限制eth0网卡的带宽为50kbit:


 

复制代码

代码如下:

/sbin/tc qdisc add dev eth0 root tbf rate 50kbit latency 50ms burst 1000
 

3、限制带宽为50kbit后,在百兆局域网中wget下载一个大文件:


 

复制代码

代码如下:

[root@localhost ~]# wget
--19:40:27--
Connecting to 192.168.1.7:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23862312 (23M) [application/zip]
Saving to: `test.zip'
37% [=======> ] 8,994,816 457K/s eta 27s
 

下载速度为457K/s,限制效果达到。

4、解除eth0网卡的带宽限制:


 

复制代码

代码如下:

/sbin/tc qdisc del dev eth0 root tbf

5、对比:未作带宽限制情况下,在百兆局域网中wget下载一个大文件:


 

复制代码

代码如下:


[root@localhost ~]# wget  
--19:44:33--
Connecting to 192.168.1.7:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 23862312 (23M) [application/zip]
Saving to: `test.zip'
100%[==========>] 23,862,312 6.14M/s in 3.7s 
19:44:36 (6.16 MB/s) - `test.zip' saved [23862312/23862312]
 

下载速度为6.16MB/s。

网友提问:限制带宽为50kbit后, 为什么下载速度达到457K/s?
回复:Linux内核依靠粗糙的计时信息进行带宽固定。在一个较长的时间段内,可以维持很好的精度,但是在以秒为单位进行计量的时间段内,其结果非常不准确。
所以,实际使用的带宽需要以wget下载时速度为准,去调整tc的带宽限制。