假设您正在编写一个 PHP 应用程序,该应用程序将托管在负载平衡/多服务器设置中。为了确保顺利运行,您需要了解哪些事项?现在我认为唯一的问题是 PHP session (即,您必须为其使用自定义数据库处理程序)。还有什么吗?
最佳答案
让我们把它变成一个答案:
根据我的经验,绝大多数 PHP 应用程序不仅受到网络服务器上 PHP 性能的限制,而且至少受到后备存储(即数据库和/或文件)的限制。
因此,在没有仔分割析的情况下对 PHP 应用程序进行负载平衡可能会让事情变得更糟:越来越多的负载会触及链条中最薄弱的环节。
因此,第一个——恕我直言,“编写负载平衡服务器上托管的 Web 应用程序时需要了解的事情”是负载模式及其平衡潜力。如果你的应用程序表现不佳,你在更多服务器上对其进行负载平衡,然后发现你现在有更多服务器等待数据库,你就有麻烦了。
这是一个突然的 list ,请仅将其视为一次头脑 Storm (或脑放屁):
- 第一:您真的受 CPU 限制吗?
- 哪些页面点击次数最多(查看您的日志)
- 对于其中的前 N 个(具有合适的 N),请检查处理模式:CPU 周期去了哪里?
- 共享 session 、上传、文件存储(添加您使用的任何内容)会产生什么副作用?负载平衡会抵消这些副作用吗?
欢迎评论,我确信我还没有触及皮毛!
编辑
刚刚想到了在这种情况下曾经困扰过我的事情:资源锁定。如果您使用多服务器,请准备好迎接更高程度的并发
关于php - 编写托管在负载平衡服务器中的 Web 应用程序时需要了解哪些事项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12021204/