如何限制连接速度

我在CentOS 6.4上使用Plesk v11.5.30,虽然这不一定需要通过plesk来完成。

我正在寻求限制到特定网站的连接速度。 然而,Plesk唯一的select是“最大带宽使用率”和“限制连接数”。

最大带宽使用量是域使用的总带宽,而连接数是连接数(显然)。 我想要做的是将速度限制在200kb / s,而不pipe有多less人正在访问该域。 即使只有一个人正在访问,我不希望他们能够使用所有的带宽,我希望他们被限制在200kb / s

有没有一种方法可以将所有单个连接限制在200kb / s以下,以至于没有人可以使用超过200kb / s的速度,但是当然如果stream量很高,它们可能会less于200kb / s?

为了避免这是plesk特定的,这是我的conf中是什么,我很高兴手动修改它,如果有一些其他的参数,我可以使用:

<IfModule mod_bw.c> BandwidthModule On ForceBandWidthModule On Bandwidth all "0" MaxConnection all "0" BandWidthError 510 </IfModule> 

我从来没有使用这个模块,但文档看起来相当简单。

这个指令在一个<VirtualHost>块内有效,如果是的话,这个指令只适用于那个虚拟主机。 它也看起来像不从configuration的更高部分inheritance,所以你应该把每个相关的指令放在虚拟主机。

您当前的configuration将带宽限制设置为“0”,这意味着没有限制。 你想200KB(我认为你的意思是千字节而不是千字节)。

把它放在你想限制的虚拟主机中:

 BandwidthModule On ForceBandWidthModule On Bandwidth all 204800 

默认的MinBandwidth是256字节/秒,所以你可以在同时处理800个用户之前,他们中的任何一个将开始得到错误消息。 如果您认为256字节/秒有点低,您还可以添加MinBandwidth all 1024 ,这意味着当您有超过200个同时请求时,201st将获得一个错误信息,而不是他们请求的页面,以及所有的200这将保证至less1KB / s。

我通常不会打扰那些<IfModule>块,因为他们所做的只是隐藏你的错误,并让你认为mod_bw在没有加载时工作。

我想通过使用LargeFileLimit:

 <IfModule mod_bw.c> BandwidthModule On ForceBandWidthModule On Bandwidth all "52428800" MaxConnection all "400" LargeFileLimit * 1024 204800 BandWidthError 510 </IfModule> 

这意味着该域限制为50MB带宽(52428800),一次只能有400个连接,并且超过1MB的任何文件将被限制为200kb / s(204800)。

对于任何人阅读这个稍后,你也可以把一个扩展,而不是*限制只是拉链,rars,艾维斯或其他。