Apache 2.2(windows)是否有默认的带宽限制?

我在云服务器上运行Apache(VMware上的Windows Server 2008 http://95.110.164.61 Gbps的BW, http://95.110.164.61 )。 我正在stream式传输许多现场DVB MPEG传输stream,预先压缩循环(由VLC在端口640xx产生的非闪存),然后在端口80上由Apache反向代理。

服务器的防火墙在所有端口上都打开VLC和Apache。

高于1.5 Mbps的复制受到连续停止和走的影响。 请注意,如果您直接在http://95.110.164.61:64087/mpg2_6.4请求由VLC生成的stream,则会看到正确的stream,而如果您请求http://95.110.164.61/mpg2_6.4 ,则不会。

我知道Flashstream媒体服务器使用Apache在端口80上stream(和它的工作原理)。 我不是Apache的专家,任何人都可以告诉我是否需要任何“特殊”模块来增加带宽?

Apache默认没有任何速率限制或带宽限制。 实际上,只有外部模块提供了这个function,所以你不得不做出特别的努力来启用它。

默认情况下,Apache将使用尽可能多的带宽。

仍然Igino Manfre'正在写作(请不要忘记,我是一个阿帕奇newby)。

也许它不应该被描述为带宽限制,但最终的结果是一样的:如果Apacheconfiguration不正确,则无法通过Web推送足够的信息。

在Windows下的这个活动是由Apachemultithreading模块完成的(唯一可用的,在Windows下,正式称为多处理模块,但通常称为“工人”),在任何情况下都需要configuration。 当Apache在windows下运行时,你只能find两个进程“httpd”,一个孩子到另一个。 subprocess通过连接激活所有需要的线程。 在Apache文档中,我发现它需要一个特定的部分,可以从\ httpd-mpm.conf中拷贝并粘贴到httpd.conf中。 Windows缺省部分仅在标签“IfModule mpm_winnt_module”内包含两行来pipe理multithreading。

ThreadsPerChild:服务器进程中工作线程的数量(设置为150)

MaxRequestsPerChild:服务器进程提供的最大请求数(set 0,auto)

但是在这种情况下,它不是软件效率(线程化)的问题,而是networking缓冲的问题。 我发现在Apache的巨大文档中​​存在SendBufferSize参数(要添加到httpd.conf中)。 它增加了TCP发送缓冲区的大小,可用于补偿RTT大于100ms的高延迟连接(如正常的ADSL家庭连接)。 默认情况下,或者当为0时,服务器将使用操作系统默认值。

SendBufferSize 1000000

我决定把它放在1000000(1MB),这听起来可能是一个很大的数字,但我已经看到这些高价值的使用。

好工作! 用VLC播放器打开stream,现在Apache像VLC一样stream6.4 Mbps。 这意味着瓶颈已被删除。 通过科学的方法,我testing了这个参数的评论,stream再次停下来走了。

在任何情况下,为了正确看到数据stream,你需要有足够的连接带宽来播放这个数据stream(比如至less30%),所以要看6.4Mbps,你至less需要8Mbps。

我希望这些线将帮助别人。

另外需要注意的是:将video介绍到网页中,并希望使用VLC插件,还需要configurationVLC插件networkingcaching参数,否则仍然会影响再现。 固定的networkingcaching= 1000(毫秒),在VLC播放器默认设置,这就够了。 文件 – 像往常一样 – 是远远不够的。

再见,Igino