首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推荐服务器堆栈

推荐服务器堆栈
EN

Server Fault用户
提问于 2011-06-07 18:53:01
回答 1查看 146关注 0票数 0

我们在我们的We服务器上每秒执行大约1000 req,并且在到达最终的LAMP堆栈之前有几层缓存和平衡。我们有6台带有公共memcache的Apache (Pre叉MPM;2.2.12) + PHP (5.3.2)服务器,以满足最终请求,以防其在清漆上不受攻击。现在我们面临的问题是如何扩大规模。我们对响应时间非常挑剔,如果后端在一秒钟内没有响应,我们的反向代理将与后端断开连接。随着更多的要求/秒,我们面临越来越多的上游错误,我们的灯机无法承受负载。

我们正在重新考虑一种新的服务器架构,现在正在寻找一些好的替代方案。

没有静态图像/不涉及静态内容。到达这些服务器的只有4个请求(3个收集数据,1个记录数据-最大2KB动态文件)。

我们正在研究Apache (worker MPM) ++ PHP

我想知道是否有好的教程或基准测试报告,我可以参考,如果有任何其他配置,我可以尝试一下。

谢谢斯帕什·古普塔

EN

回答 1

Server Fault用户

回答已采纳

发布于 2011-06-07 19:43:19

对于服务器堆栈来说,这是非常少的信息:

  • 你要求的是硬件还是软件推荐(假设软件)?
  • 为什么上游服务器出现故障?(CPU、网络、磁盘IO是上游失败的上行通道--读取数据库或其他类型的持久性)
  • 你似乎能优雅地失败。如果您在一秒钟内超时并返回某项内容,您将继续执行此操作。您应该在:上显示数字
    • 多少失败是可以接受的?
    • 何时(日期/时间和编号)您是否通过了可接受的不合格率?

我想知道是否有好的教程或基准测试报告,我可以参考,如果有任何其他配置,我可以尝试一下。

请不要依赖其他人在另一个用例上所做的基准测试。请为您的数据、客户行为、系统进行基准测试。

我是否可以假定:

  • 收集数据== POST (或在服务器上存储数据的内容)
  • 发送数据== GET (应答客户端)

这实际上并不重要,但您是否尝试将“收集”服务器与“发送”服务器分开?

客户端缓存在您的情况下似乎没有帮助,因为收集部分不可能被缓存。

对应用程序体系结构的粗略猜测(软件明智):

你在使用像APC这样的东西吗?

如果您的应用程序有可能,我建议您切换到某种异步模型。

非常粗糙的:

  1. 只需将“收集”作业提交到队列中,
  2. 立即发送HTTP 202,将内容位置设置为您期望内容出现的位置(如果客户端是浏览器,则发送带有位置的302/303 )。
  3. 只要您没有从工人那里得到消息,只需返回一个带有一些默认内容的200
  4. 如果它用实际的内容完成了200

硬件智囊:

很难说,但似乎只需向其提供更多的Apache服务器就可以解决问题。您已经有了6,为什么不只是添加更多,并完成它-做一些计算,无论开发人员的时间或硬件是便宜的,应该不会太难。无论如何:我不会马上丢弃“旧”服务器,只要在负载均衡器中给它们分配一个较低的优先级即可。

另外,您提到了一个“反向代理”(单数),您试过在该层进行缩放吗?

总的来说,我要说的是:你似乎有能力通过向它扔更多的灯服务器来扩大规模。你为什么不直接这么做呢?

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/277963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档