使用PHP的Apache是​​否使用相同的连接池来存储stream式文件?

假设我有一个PHP站点在该主机上运行更大的图像。 每个页面都非常简单,几乎没有时间在PHP中进行处理,但它可能包含几MB的大图像。

问题是,如果我设置了Apache来处理100个连接,并且页面本身需要几ms生成,它是否阻止连接被阻止以进行图像传输,或者是否在某个其他连接池上处理了该连接?

因为在第一种情况下,下载图像可能需要几秒钟的时间,所以我一次只能提供100个客户端。

服务器的每一个连接,无论是PHP还是静态文件服务,都来自同一个连接池。 一旦PHP提供了HTML,连接就可以自由地用于其他事情了。 如果它是一个持久的连接,那么它可能会被重新用于下载一个图像。

请记住,现代浏览器将创build至less2到6个持久连接,因此一次只能less于100个客户端。

假设KeepAlive开启的示例场景:一个连接处理PHP脚本,然后相同的连接将开始下载图像,浏览器打开或使用现有连接下载其他图像。

这取决于保持活动的设置。 如果将其设置为“打开”,连接将被重用。 如果您将其设置为“closures”,则为每个页面元素(HTML / PHP,图像,JavaScript文件,CSS等)创build新的连接。 保持它意味着为您的用户提供更好的体验,而牺牲服务器CPU负载。 保持closures意味着较慢的浏览体验,但服务器负载稍微减less。 你也可以调整keepalivetimeout设置。 将其设置为5或更less。