我无法理解有关 squid 中 delay_parameters 参数的文档。
delay_pools 1
delay_class 1 4
delay_parameters 1 -1/-1 -1/-1 -1/-1 600/8000
第一个和第二个带宽(600 / 8000)有什么区别?为什么以及何时应该设置不同的值?
谢谢
答案1
squid 池配置中的分子和分母具有不同的含义:
- 分子是流缓冲区(桶)的容量(以字节为单位)
- 分母是允许的最大流量(以字节/秒为单位)
把游泳池想象成一个有两根管子的水槽。一根管子负责注水,另一根管子负责排水。排水管的吞吐量由分母定义。分子是水槽的容积。当水槽足够大时,排水可以顺利进行,但收入可能会混乱 - 因为其他用户的活动。
分子越大,下游流量越平滑,但会造成延迟。分子越小,流量整形越准确,但下游流量会变得不稳定。
几年前,我使用过 65536/16000 这样的值,但现在我确信延迟池根本不是一个合适的整形工具。您必须使用一些数据包排队工具,如 ALTQ,或者在我的情况下,是 FreeBSD 中的 IPFW/DUMMYNET。当我介绍数据包排队整形器时,所有用户都说“哇!”。