linux网卡限速tc,linux tc 对本机网卡限速
今天由于項目要測試在網絡環境不好的情況下,會不會對平臺有所影響,要求測試限制服務器流量,我想到了TC,我對TC不是很了解, google了一下,看到了不少文章都是做路由用的,對我來說不是很實用,因為我是對單機測試。先看看TC命令在說,沒想到報錯,錯誤如下:
shell$> tc -s qdisc
RTNETLINK answers: Invalid argument
看到這個錯誤很迷茫,命令是支持的啊,在網上查詢了很久,發現是內核不支持,不支持QOS,不支持正常,因為我的內部測試服務器用XEN,虛擬的系統,所以我重新編譯DomU內核,添加 QOS,CBQ等
環境:
xen domU : ubuntu-server 8.0.4? IP:192.168.6.101
kernel : linux-2.6.18-xen
xen dom0 : ubuntu-server 8.0.4? IP:192.168.6.209
操作:
DomU $> tc -s qdisc
RTNETLINK answers: Invalid argument
進入父系統:
Dom0 $> cd xen-3.4.2
編譯xen DomU 內核
Dom0 $> make linux-2.6-xenU-config CONFIGMODE=menuconfig
選擇 Networking? —>
Networking options? —>
QoS and/or fair queueing? —>
[*] QoS and/or fair queueing
把下面的最好都選上吧 * 是打入內核,M 是以模塊方式。我全選擇 *
選擇好,保存退出
Dom0 $> make linux-2.6-xenU-build
Dom0 $> cd xen-3.4.2/dist/install/boot
Dom0 $> scp vmlinuz-2.6.18.8-xenU root@192.168.6.101:~
好,然后進入 DomU
DomU $> ls
vmlinuz-2.6.18.8-xenU
覆蓋 以前的vmlinuz-2.6.18.8-xenU
DomU $> mv vmlinuz-2.6.18.8-xenU /boot/
DomU $> reboot
重啟后,在進入系統,看是否還報錯:
DomU $> tc -s qdisc
好沒有報錯“下來我們對 服務器 1935 端口進行限速,限制為 上傳下載都為50Kbit
CBQ 算法:
DomU $> tc qdisc del dev eth0 root
DomU $> tc qdisc add dev eth0 root handle 1:0 cbq bandwidth 100Mbit avpkt 1000 cell 8
DomU $> tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 100Mbit rate 50Kbit weight 50Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
DomU $> tc class add dev eth0 parent 1:1 classid 1:4 cbq bandwidth 100Mbit rate 50Kbit weight 50Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000
DomU $> tc qdisc add dev eth0 parent 1:4 handle 40: sfq
DomU $> tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip sport 1935 0xffff flowid 1:4
好了 連接 1935 試試吧`
總結
以上是生活随笔為你收集整理的linux网卡限速tc,linux tc 对本机网卡限速的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leerlaufprozess是什么进程
- 下一篇: LeetCode刷题实战(2):Add