免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6910 | 回复: 7
打印 上一主题 下一主题

[proxy] squid限速问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-06 15:21 |只看该作者 |倒序浏览
请教各位大虾,squid中如何进行限速啊?
好像有delay_pools命令
谁能给一个具体的例子啊
谢谢!

论坛徽章:
0
2 [报告]
发表于 2008-11-12 16:44 |只看该作者
多看看注释就懂了,下面的例子,限速每IP 200KB/s ,5MB触发

#  TAG: delay_pools

delay_pools 1

#  TAG: delay_class

delay_class 1 3

#  TAG: delay_parameters

delay_parameters 1 -1/-1 -1/-1 204800/5120000

#  TAG: delay_access

delay_access 1 allow all
delay_access 1 deny all
GrayChan 该用户已被删除
3 [报告]
发表于 2008-11-27 13:59 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2008-12-12 16:29 |只看该作者
谢谢,已经解决
但是其实delay_pools的功能好像更大
没例子的那么简单

论坛徽章:
0
5 [报告]
发表于 2008-12-15 10:20 |只看该作者
要实现限制网速的功能,你得重新编译squid,激活-enable-delay-pools选项 。方法如下:
1、下载squid源码 (到官方网站)
2、编译squid
   1)安装 gcc  make
   2)准备编译,即配置源码中的configure
       #cd 源码目录
       #chmod a+x ./configure
       #./configure -prefix=/usr -localstatedir=/var -libexecdir=${prefix}/lib/squid -datadir=${prefix}/share/squid -sysconfdir=/etc/squid -enable-delay-pools -enable-snmp -enable-cache-digests -enable-basic-auth-helpers=NCSA -enable-external-acl-helpers=wbinfo_group -enable-external-acl-helpers=winbind_group -enable-ntlm-auth-helpers=SMB
      这是我的服务器的配置,你可以根据你的情况来选择激活那些选项。
    3)编译并安装
      #make
      #make install
    4)配置squid.conf
     
     添加以下行:
    delay_pools 1     
   delay_class 1 1
   delay_access 1 allow all
   delay_parameters 1 50000/50000 # 限制网速在50K以内
    delay_initial_bucket_level 50

   以上仅是为了实现限制网速而添加的配置,实际的配置就不说了。
     
   5)启动squid
   
    #squid

论坛徽章:
0
6 [报告]
发表于 2008-12-16 16:10 |只看该作者
请教一下: 那么这个有怎么来用呢
delay class B 2         delay_parameters B 7000/15000  3000/4000
delay class C 3       delay_parameters c 7000/15000 3000/4000 1000/2000
delay class D 4   delay_parameters D 32000/32000 8000/8000 600/64000 16000/16000
楼上的都只给出了delay class 1 1的例子
如果我现在定义delay pools 4   delay A 1  delay class B 2  delay class c 3  delay class D 4 如我上面写的一样
那又该对其中的数字怎么解释呢
谢谢!

论坛徽章:
0
7 [报告]
发表于 2015-09-10 13:28 |只看该作者
回复 1# haoyu323
我看你对squid很有研究,我最近也在研究这个,由些问题想请教一下

   

论坛徽章:
24
天蝎座
日期:2014-05-13 18:05:59IT运维版块每日发帖之星
日期:2015-11-26 06:20:00操作系统版块每月发帖之星
日期:2015-12-02 14:57:54IT运维版块每月发帖之星
日期:2016-01-07 23:01:56IT运维版块每周发帖之星
日期:2016-01-07 23:04:2615-16赛季CBA联赛之青岛
日期:2016-01-23 07:58:272016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之北控
日期:2016-03-23 14:20:06IT运维版块每日发帖之星
日期:2016-04-01 06:20:0015-16赛季CBA联赛之吉林
日期:2016-06-28 13:51:54IT运维版块每日发帖之星
日期:2016-07-01 06:20:00IT运维版块每日发帖之星
日期:2015-11-23 06:20:00
8 [报告]
发表于 2015-09-14 11:08 |只看该作者
本帖最后由 woxizishen 于 2015-09-14 11:11 编辑

回复 6# haoyu323

楼主也是个爱钻牛角尖的人,不过我到是研究够,不过你看完内容,你有种想撞墙的感觉,因为你用的这种就够了。另外我研究的版本class类型直到3,你的版本比较牛到4了。

delay_pools 1        定义有几个容器(简单的说就是要同时设定几个限制带宽策略)
delay_class 1 1      第一个1 就是容器1,第二个1就是CLASS类型,这里是类型1


这里要特别注意的是Class类型
Class类型有三种(红色标注的):
delay_class 1 1
delay_class 1 2
delay_class 1 3
1 按照官方解释是代表host即单个ip总带宽,通常也是限制带宽经常用的一种类型,后面2和3类型比较少人使用。
CLASS 2 的类型是给C类网络的每一个用户带宽做限定,他有2个带宽数值参数,如下所示:
delay_parameters 1 -1/-1 64000/64000
-1代表不限制,-1/-1那就是代表不对带宽做任何限制
所以第一个带宽参数也就是整个C类网络的带宽,是不限制的,但是第二个参数64000/64000,是对整个C类网络的每一个用户的单一带宽进行限定为64000bit/s 即62.4kb/s

CLASS 3是给一个B类网络当中每个C类网络中的每一个ip的带宽流量做限定
delay_parameters 1 -1/-1 -1/-1 64000/64000
第一个-1/-1意思是整个B类网络带宽不做带宽限定
第二个-1/-1意思是B类网络当中的每一个C类网络的总带宽不做带宽限定
第三个64000/64000意思是对每个C类网络当中的每一个ip做了62.4kb的带宽限定。
当然不要被官方解释给误解了,认为1类型只能限制某个单台主机,这个1实质就是说,你要给那些规则名称即上面的all做带宽限定,然后给这个all当中的每个人一个平均理论值的最小带宽和一个最大带宽(每个人加总的带宽要小于这个最大带宽),当然如果使用总带宽超过最大带宽的时候,那么squid就会开始协调限定带宽,不让它超过最大带宽,实质上这个时候每个人的实质最小带宽肯定要小于平均理论值。
上面讲了一堆废话,你可以简单理解就是,要在企业做带宽限定实质就用第一种类型即1就够用了,我们本来要的效果就是对企业用户每个人最小带宽做限定,然后对他们所有人的最大带宽做限定。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP