我正在使用以下 Apache 配置将请求转发到 Tomcat 服务器:
ProxyPass /myapp ajp://localhost:8009/myapp max=2
这是一个简化的配置,但足以重现问题,即 max 参数无效。如果我通过 10 个并发请求到 Apache,所有 10 个同时转发到 Tomcat,而我希望它们被 2 个 2 转发。我应该为此使用 max 参数以外的东西吗?
max=2
未能限制并发转发到 Tomcat 的请求数量,因为我在 UNIX 上运行它,并且我的 Apache 预配置了 prefork MPM,它为每个请求创建一个进程。每个max
进程都适用,因此没有预期的效果。
如果您处于这种情况并且需要限制转发到 Tomcat 的并发请求数,那么您需要将您的 Apache 替换为工作人员或事件 MPM Apache,在配置中设置ServerLimit
为 1,并且ThreadsPerChild
设置MaxClients
为相同的值,这将是您的 Apache 能够处理的并发连接总数。您可以在记录Orbeon Forms 的推荐 Apache 配置的本节中找到有关此的更多信息。
service apache2 restart