我是靠谱客的博主 无心胡萝卜,最近开发中收集的这篇文章主要介绍Linux如何去设置TC参数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用linuxTC进行流量控制时,会发现若一些参数设置不当会导致流控数据效果很差(如limit,burst等值),这里分三种情况分别讲解怎么设置TC。注意TC控制的是发包(也就是设置的是单向的,若需要控制来回,则两个方向均要配置TC)。

1.只设置延时,丢包率

千兆网卡(带宽)设置25ms延时,1%丢包:

tc qdisc add dev eth2 root handle 1:0 netem delay 25ms loss 1% limit 3125000

这里limit值是怎么算出来的?

limit为缓冲区大小,默认单位是字节,最大1000Mbps时25ms发送数据需要缓冲多少字节:(1000Mbps*(25ms/1000ms))/8=3.125MB=3125000B

2.只设置限制带宽

流控限制带宽的算法有很多种,这里选用比较通过的HTB算法,设置线路最大带宽为100Mbps

tc qdisc add dev eth2 root handle 1:  htb default 11   #设置通道11为默认通道

tc class add dev eth2 parent 1: classid 1:11 htb rate 100mbit ceil 100mbit burst 1600b cburst 1600b   #限速通道11为100Mbps

这里burst为突发流量大小,建议不配置,使用htb算法默认会算出burst值,使用默认值就好。

tc qdisc ls dev eth0 #查看etho口qdisc

tc class ls dev eth0  #查看eth0口带宽设置

tc -s -d class show dev eth0 #查看详细信息

3.设置带宽同时设置25ms延时

tc qdisc add dev eth2 parent 1:11  handle 10: netem delay 25ms limit 312500  #与第二点的流控通道对应





最后

以上就是无心胡萝卜为你收集整理的Linux如何去设置TC参数的全部内容,希望文章能够帮你解决Linux如何去设置TC参数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部