编写负载均衡服务器中托管的Web应用程序时需要了解的事项?

时间:2012-08-18 18:30:47

标签: php web-applications load webserver

假设您编写的PHP应用程序将托管在负载均衡/多服务器设置中。为确保顺利运行,您需要了解哪些事项?现在,我认为唯一的问题是PHP会话(即,您必须使用自定义数据库处理程序)。还有什么吗?

2 个答案:

答案 0 :(得分:1)

文件上传/下载也可能是一个问题 - 您可能需要它们在所有服务器上都可见

答案 1 :(得分:1)

让我们把它变成一个答案:

根据我的经验,绝大多数PHP应用程序不受或不仅仅受到Web服务器上的PHP马力的限制,但至少与后备存储(即数据库和/或文件)相同。

因此,在没有仔细分析的情况下对PHP应用程序进行负载平衡可能会使事情变得更糟:在负载越来越多的情况下,链中最薄弱的环节就会出现。

因此,在编写负载均衡服务器中托管的Web应用程序时,第一个 - 以及恕我直言最重要的事情“是负载模式,以及它的平衡潜力。如果您的应用程序性能不佳,您可以在更多服务器上进行负载均衡,然后发现您现在有更多服务器在等待数据库,那么您就遇到了麻烦。

这是一张不太明显的清单,请仅将其作为头脑风暴(或脑力图)进行评论:

  • 第一:你真的受CPU限制吗?
  • 哪些页面最受欢迎(请参阅您的日志)
  • 对于前N个(使用合适的N),检查处理模式:CPU周期在哪里?
  • 使会话,上传,文件存储(添加您使用的任何内容)共享的副作用是什么?它会被负载平衡抵消吗?

欢迎评论,我非常肯定甚至没有触及表面!

修改

在这种情况下,我想到了一些让我感到困惑的东西:资源锁定。如果您使用多服务器

,请为更高程度的并发性做好准备