Apache 作为反向代理:同步还是异步?

Apache 作为反向代理:同步还是异步?

我使用 Apache 提供静态内容,然后反向代理到 Rails 服务器来处理动态内容,其中一些可能需要很长时间才能生成。当 Apache 将请求传递给反向代理时,Apache 进程是否只是在那里等待响应(我使用 prefork mpm),或者它是否可以停止并处理其他请求,并在响应准备好时处理来自 Rails 服务器的响应?

答案1

使用 Apache Prefork MPM,您将为每个并发请求至少拥有一个进程。并且,每个进程将处理一个或零个请求(空闲或备用)。

因此,执行 Rail 反向代理的过程将被阻止,直到完成(或出错)。无论如何,可以打开与同一服务器的另一个连接。

相关内容