Linux环境使用TC进行服务器流量控制方法
来源:Asp之家 发布时间:2010-08-17 18:47:00
公司目前有一台服务器,网络环境太高,那台服务器和源服务器连接下载,就跑到400M-500M,为了控制一下,所以研究了一下TC,来做流量控制。给他控制到小点,不要让这一台占了所有的网络。TC很强大,很多所谓的硬件路由器,都是基于这个做的。
一、Linux下使用TC进行服务器流量控制方法
1)假设eth0位是服务器的外网网络接口,首先在eth0的qdiscA,qdiscA控制通过本机到外网的速度,因此可用来控制服务器对外数据传输速度。
#tc qdisc add dev eth1 root handle 1:htb default 1
添加 设置接口 最上层 句柄(做标记用) 标记 默认使用1的class
解释如下:无论是队列,还是class和filter都有ID之类的标志符,一般都有parent(父,上层的),注意ID具有接口本地性,不同的网络接口可以有相同的ID.对于这里因为qdisc在顶部,所以parent无,用‘root’字样来标识,ID用1:来标志
‘default 91′表示当某个ip流不满足任何已设定的filter规则时,将自动归入class 1中。更详细的指令规则说明请参考手册。
2)然后在qdisc下建立两个class,来指定eth0控制通过本机到外网的速度
#tc class add dev eth0 parent 1:0 classid1:30 htb rate 2mbit ceil 4mbit prio 2
注:以上就是我们控制输出服务器的速度,为2M,最大可以到4M
rate: 是一个类保证得到的带宽值。如果有不只一个类,请保证所有子类总和是小于或等于父类。
prio:用来指示借用带宽时的竞争力,prio越小,优先级越高,竞争力越强。
ceil: ceil是一个类最大能得到的带宽值。
3)接着针对不同的应用在各root class下设置不同的类,示例如下。(如果只有一个类,这个就没有必要了)
#tc class add dev eth0 parent 1:30 classid 1:31 htbrate 0.5mbit ceil 2mbit prio 3
同时为了不使一个会话永占带宽,在节点(即本文的各应用结点)添加随即公平队列sfq.(多IP)
#tc qdisc add dev eth0 parent 1:31 handle 31:sfq perturb 10
4)接着添加过滤器。
#tc filter add dev eth0 parent 1: protocol ipprio 31 handle 31 fw flowid 1:31
5)用iptable打标,也可以使用u32之类
#iptables -t mangle -I FORWARD -i !eth1 -p tcp –sport 80 -s xxx.xxx.xxx.xxx –j MARK –set-mark 31
二、TC对最对高速度的控制 Rate ceiling 速率限度
参数ceil指定了一个类可以用的最大带宽, 用来限制类可以借用多少带宽。缺省的ceil是和速率一样,这个特性对于ISP是很有用的, 因为他们一般限制被服务的用户的总量即使其他用户没有请求服务。(ISPS 很想用户付更多的钱得到更好的服务) ,注根类是不允许被借用的, 所以没有指定ceil。
(注: ceil的数值应该至少和它所在的类的速率一样高, 也就是说ceil应该至少和它的任何一个子类一样高。)
Burst 突发
网络硬件只能在一个时间发送一个包这仅仅取决于一个硬件的速率。 链路共享软件可以利用这个能力动态产生多个连接运行在不同的速度。所以速率和ceil不是一个即时度量只是一个在一个时间里发送包的平均值。实际的情况是怎样使一个流量很小的类在某个时间类以最大的速率提供给其他类。 burst 和cburst 参数控制多少数据可以以硬件最大的速度不费力的发送给需要的其他类。
如果cburst 小于一个理论上的数据包他形成的突发不会超过ceil 速率, 同样的方法TBF的最高速率也是这样。
你可能会问, 为什么需要bursts . 因为它可以很容易的提高向应速度在一个很拥挤的链路上。 比如WWW 流量是突发的。 你访问主页。 突发的获得并阅读。 在空闲的时间burst将再”charge”一次。
(注: burst 和cburst至少要和其子类的值一样大。)
猜你喜欢
- 面是Godaddy Windows主机支持的组件ADODB.CommandThe Command object is used to exe
- 各位是否还记得我们之前曾经报道过的微软 IE 项目主管炮轰 Chrome 没有隐私一事?其中就提到了在 Chrome 地址栏中每输
- 1.什么是服务器集群随着Internet的 * 性增长,Internet与人的生活越来越息息相关,通过Internet上进行交易也就越来越受关
- 在Discuz!7.0中,有些站长在设置用户组时,可能不小心误删了其他用户组,这样会导致原本属于该用户组的用户无法正常访问论坛。下面笔者详细
- 很多人会认为SEO很简单,很多人也会认为SEO很迷惑?简单的是什么呢?大家会认为SEO就是做关键词排名,就是做流量;迷惑的又是什么呢?除了做
- Godaddy主机用户如果想要转移域名,还是有条件的,域名转移条件如下:1.只有域名的注册人或管理联系人有权提出转入申请;2.域名在原注册商
- 在与国内互联网用户研究同行交流时,常常会被问到“腾讯很早就拥有眼动仪了,那是不是经常用到它?”、“眼动研究的结果有什么特别的作用?”等之类的
- 最近很多站长向本人反映,百度收录更新无规律性变化,很多新站不能及时收录或者收录后的站很长时间没有更新。根据反馈的信息,笔者观察了
- Godaddy主机用户应该怎样核实Google站长工具里的域名呢?使用站长工具,你可以访问crawl statistics, recent
- 自己参考那个自动生成文章html 写了个自动更新首页html的插件---不应该叫插件,叫做文件! 呵呵 很简单应用领域:对于向我这样,首页用
- 现在网络上的术语太多了,不记一下还真容易犯糊涂。雅虎统计中有个“UV”这个简写名称,一开始还真没弄明白什么意思,后来查了一下,原来就是独立访
- 库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的。一般 Linux 系统把 /lib
- 大家好,我是A5安全小组 jack ,今天跟大家交流下 关于WEB服务器安全的相关问题。其实,在服务器和网站的安全设置方面,我虽然有一些经验
- 北京时间10月12日消息,国外著名科技博客Mashable发文称,日前英国《每日电讯报》曾宣称Twitter正在考虑增加视频消息功能,但Tw
- 本次测试包含以下10款ARP防火墙:360安全卫士ARP防火墙金山ARP防火墙风云防火墙antiarp-dnsARP防护大师Bitcomet
- 鉴于一些众所周知的原因,最近国内的环境越来越不适合独立博客。将独立博客转移到国内主机空间,尽管不是最好的选择,却也是非常时期不得已的一个选项
- 我们非常高兴地通知大家我们即将发布一项新功能,这个功能可以让您在AdSense 账户中轻松管理您的广告单元。 &nbs
- 隔行换CSS的方法:新云的xslt有一个循环变量,详细看以下代码。相信大家很快会明白!<div class="tbg_{@m
- 最近几年来,基于Web的免费Email系统非常流行,当前,几个著名的免费Email网站基本上已经成为大多数人的选择,建立单纯提供免费Emai
- 简单讲一些关键词排名浮动的问题主要是新站,我们要正确的看待关键词排名浮动的问题。1、关键词排名浮动不大的情况:表现为关键词会在1到2.3个页