我在一台服务器上运行一个 LAMP 应用程序,每月大约可处理 100 万次请求。现在,我正在寻找一个潜在的合作伙伴,我的应用程序每月可处理大约 5000-8000 万次请求。
因此,图片由 static.domain.com 提供,而应用程序由 www.domain.com 提供。90% 的流量来自的 API 位于单独的 https 域 api.domain.com 下,但查询 mysql 和 solr 堆栈。
一台配备 128GB RAM 和 SSD(SW-Raid 1)且配备 Intel® Xeon® E5-1650 v3 Hexa-Core Haswell 的根服务器能够处理该负载吗?大多数请求将与 solr 相悖,仅提供 json 提要,可能不会击中“磁盘”。
128GB 的 RAM 是不是有点过分了,还是一台服务器根本无法处理这种负载?我也可以使用 2 台服务器并进行负载平衡。问题是在这种架构下如何实现。
感谢您对此提供的任何提示。
答案1
我有一根绳子,我可以打多少个结?
实际上,这取决于监控服务器上有多少活动负载,然后模拟额外的负载以将其推到您可以确定的程度。
对于数学来说...每月 5000 万个请求,假设每月 30 天,每秒大约有 19-20 个请求...我猜这是可能的,取决于 solr 需要做多少工作以及您的应用程序增加了多少开销。
答案2
服务器可以处理吗?是的。
但..
是否真的会完全取决于你的代码。你正在查看此页面的服务器目前处理每月 7500 万次请求,而且他们在做这件事时非常无聊,CPU 占用率最高达到 10% 左右。所以这绝对是可行的。
如果您想要这样扩展,您需要确保您的应用程序代码能够按您需要的方式扩展,并且可能需要优化。进行负载测试以确保您的不同应用程序组件能够按您的预期方式扩展。