假设您正在编写一个 PHP 应用程序,该应用程序将托管在负载平衡/多服务器设置中。为了确保顺利运行,您需要了解哪些事项?现在我认为唯一会成为问题的是 PHP 会话(即,您必须为其使用自定义数据库处理程序)。还要别的吗?
问问题
105 次
2 回答
1
文件上传/下载也可能是一个问题 - 您可能需要它们在所有服务器上都可见
于 2012-08-18T18:39:00.520 回答
1
让我们把它变成一个答案:
根据我的经验,绝大多数 PHP 应用程序不受或不仅受网络服务器上 PHP 功能的限制,而且至少受后备存储(即数据库和/或文件)的限制。
因此,在没有仔细分析的情况下对 PHP 应用程序进行负载平衡可能会使事情变得更糟:用越来越多的负载击中链中最薄弱的环节。
因此,首先 - 恕我直言,最重要的“在编写托管在负载平衡服务器中的 Web 应用程序时要知道的事情”是负载模式,以及它的平衡潜力。如果您的应用程序性能不佳,您可以在更多服务器上对其进行负载平衡,然后发现您现在有更多服务器在等待数据库,您就有麻烦了。
这是一个出乎意料的清单,请将其重新定义为头脑风暴(或头脑风暴):
- 第一:你真的受 CPU 限制吗?
- 哪些页面被点击最多(查看您的日志)
- 对于其中的前 N 个(使用合适的 N)检查处理模式:CPU 周期在哪里?
- 共享会话、上传、文件存储(添加您使用的任何内容)会产生什么副作用,并且会被负载平衡抵消吗?
欢迎评论,我很确定还没有触及表面!
编辑
只是想到了在这种情况下让我印象深刻的东西:资源锁定。如果您使用多服务器,请为更高程度的并发做好准备
于 2012-08-18T18:47:12.703 回答