我用mod_cband设置了一个Apache2服务器,以限制512kb / s的下载速度,而且我想知道如果达到极限,会发生什么事情。
例如,如果我的服务器连接是100Mb / s,那么我可以在理论上为195个用户提供服务。 如果我有200个同时在线的用户会发生什么 最后5个会有错误,或只是下载速度会更低?
谢谢你的帮助 !
在文档中没有明确说明,但是从源代码看来,当mod_cband施加的限制被超过时,缺省行为是产生HTTP错误代码/消息: 错误503 Service Unavailable ,这是临时问题的HTTP标准错误响应作为维护或服务器过载时。 如果你在Apache中为503错误configuration了自定义的ErrorDocument ,那么当然也会使用它。
或者,模块本身允许您使用CBandDefaultExceededCode指令自定义错误代码,例如bandwidth exceeded了非RFC错误509 bandwidth exceeded 。 另外,你可以将访问者redirect到一个CBandDefaultExceededURL (通常在一个不同的虚拟主机上,而不是一个具有mod_cband限制的虚拟主机)。
如果你只使用mod_cband来限制个人用户(实际上是单独的ip地址,对于多个访问者来说运气不好),但是不要施加任何其他限制(比如并发连接数或总带宽)发生,他们得到一个上限,每个访客不能消耗超过512 kbit / s的带宽。 尽pipe对于您的访问者来说,他们没有任何保证可以获得任何级别的最低下载速度。
由于您的上行链路速率为100 Mbit / s,因此如果您可以获得1000个并发下载量,则每个可用带宽的公平份额大约为100 kbit / s。
我回家的路程也是一样,我的车可以达到200公里/小时,限速为100公里/小时,但是在高峰时间,我可以控制在50公里/小时以下。