Loadbalancer背后的Apache2事件MPM

时间:2016-11-28 15:56:03

标签: apache amazon-web-services load-balancing elastic-load-balancer

我目前正在配置服务器,以便使用运行Apache2的Web服务器和基于PHP的Web应用程序。服务器应该在相同的系统配置上运行相同的代码库,并且应该放在AWS上的负载均衡器后面。 LB接受HTTPS连接,但将它们作为HTTP请求转发给服务器,因此理论上事件MPM应该有效并且有意义。

现在,由于服务器位于LB后面,这将是与服务器通信的唯一直接实体,所有这些都归结为我的问题:在这种情况下,负载均衡器或Apache是​​否保持连接存活?此外,SSL连接是否会导致事件mpm表现得像工作人员mpm,即使应该由LB将HTTPS连接转换为HTTP?

我对任何有类似情况经验或对AWS ELB运作有更深入了解的人的回答感到高兴。

参考:https://serverfault.com/questions/383526/how-do-i-select-which-apache-mpm-to-use?answertab=votes#tab-top

1 个答案:

答案 0 :(得分:0)

与AWS支持合作,我能够自己回答这个问题:

AWS ELB打开与其后面的服务器无限数量的连接,因此必须以一种方式配置Apache设置,以便工作线程的数量最佳地使用系统的资源。如果您发现服务器的内存和CPU负载都没有接近满负载(即使在性能测试期间),那么您可能希望增加Apache配置中的工作线程和进程数。

另外:如果ELB接受HTTPS连接并将它们作为HTTP(没有SSL)转发到服务器,则事件MPM将按预期工作,这显然也是使用AWS ELB时Apache的最佳MPM,除非您在ELB和服务器之间使用SSL(HTTPS)。在这种情况下,工人MPM会做得很好。