(我已经知道 worker 和 event 以及它们与 prefork 的区别,这是prefork 唯一的问题)
第一个问题:
此页面上的“请求”是什么意思?
http://httpd.apache.org/docs/2.4/mod/prefork.html
" Apache httpd 总是试图维护几个备用或空闲的服务器进程,它们随时准备为传入的请求提供服务。 "
传入的 HTTP 请求?
传入的 TCP 连接?
第二个问题:
这是否意味着如果我打开一个包含 5 个图像的网站,需要 5 个 Apache 进程,因此需要 5 个 PHP 图像(假设 mod_php 已打开)?
谢谢
该上下文中的“请求”表示 TCP 连接。单个 TCP 会话当然可以发送多个 HTTP 请求,所有这些请求都将由同一个进程处理。(假设在 Apache 看到之前没有代理 HTTP 请求的基本设置。)
第二部分的答案取决于浏览器的行为。一些浏览器将通过为每个图像打开到服务器的单独连接来处理该页面,以便它可以并行加载它们。在这种情况下,您将需要 6 个进程(一个用于 HTML,五个用于图像)。大多数浏览器对打开的连接数都有限制。例如,如果该限制是两个,那么每个连接将分别发送三个请求,并且只需要两个 Apache 进程。