我们在我们的networking服务器上做了大约1000次/秒的处理,并且在到达最终的LAMP堆栈之前有caching和平衡层。 我们有6个Apache(Prefork MPM; 2.2.12)+ PHP(5.3.2)服务器,通用的memcache服务于最后的请求,以防止它的清漆上的打击。 现在我们面临的问题是缩放。 我们对响应时间超级批评,如果后端在一秒钟内不响应,我们的反向代理将从后端断开连接。 随着更多的请求/秒,我们面临越来越多的上游错误,我们的LAMP机器无法承受负载。
我们正在重新思考一个新的服务器架构,现在正在寻找一些不错的select。
没有静态图像/没有涉及静态内容。 到达这些服务器的唯一要求是(3个采集数据,1个sedning数据 – 最大2KBdynamic文件)
我们正在研究Apache(worker MPM)+ PHP CLI nginx + PHP FPM
我想知道是否有好的教程或基准报告,我可以参考,如果有任何其他configuration,我可以给一个镜头
感谢Sparsh Gupta
这是一个服务器堆栈很less的信息:
我想知道是否有好的教程或基准报告,我可以参考,如果有任何其他configuration,我可以给一个镜头
请不要依赖别人在另一个用例上做的基准。 请为您的数据, 您的客户行为, 您的系统做基准
我可以假设:
这实际上并不重要,但是您是否试图从“发送”服务器“分离”收集服务器?
客户端caching似乎没有帮助你的情况,因为收集部分不可能被caching。
你在用APC吗?
如果你的应用程序可能,我build议切换到一些asynchronous模型。
很粗糙的:
硬件明智:
很难说,但似乎只是抛出更多的Apache服务器可以解决这个问题。 你已经有了6个,为什么不只是增加更多的function而已 – 做一些计算开发人员的时间或者硬件更便宜不应该太难。 在任何情况下,我都不会立即丢弃“旧”服务器,只需在您的负载均衡器中为其分配较低的优先级即可。
你也提到了一个“反向代理”(单数)你有没有尝试在这一层扩展?
总的来说,我会说:你似乎有能力扩大抛出更多的LAMP服务器。 你为什么不这样做?