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 http://192.168.1.7/test.zip
--19:40:27-- http://192.168.1.7/test.zip
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 http://192.168.1.7/test.zip
--19:44:33-- http://192.168.1.7/test.zip
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的帶寬限制。