我正在运行一个双核Athlon 4450 e服务器w/ 8GBRAM和Ubuntu上的RoR web应用程序。
它做的很好,每分钟获得320次动态请求,它也处理所有的资产,包括提供一些更大的视频文件。
我已经在主机上运行了Apache /客运和MySQL。
性能仍然相当一致,但我看到负荷平均开始爬升超过1在较高的负载周期和CPU负荷上升到40 %或50%的大关。
我能负担得起一台额外的计算机和一个四核系统w/ 8GB RAM适合我的预算。
我是否应该将当前框转换为数据库服务器,并将四核作为web服务器放在其前面?
如果让四核同时作为数据库服务器和web服务器运行,并将现有的双核作为另一个web服务器运行在它旁边,我会更好吗?
还有其他我应该考虑的服务器布局吗?
以下是负载下服务器的快照:
服务器负载http://img.skitch.com/20100208-jhk11btcb43yg4mhd75ecinqqr.png
谢谢,
-Tim
发布于 2010-02-09 00:59:36
它没坏,别修好它。
作为一般性的下一步建议,您可以/应该将静态文件拆分为nginx或cdn,然后花一些时间分析mysql查询,看看索引或细微的调整在哪里有帮助。
有了运行rails的双核机器,您应该能够轻松地维持负载平均2-3,而不会对用户产生任何影响。
发布于 2010-02-08 21:15:04
首先,您需要找出导致CPU负载的原因-- db或apache/RoR应用程序。
我建议你把四核机器作为db服务器,把双核作为web服务器。如果您发现web服务器有更多问题,则始终可以添加另一个负载平衡问题。
但是,首先检查一下当前负载是什么。
发布于 2010-02-08 21:17:07
我会在新计算机上设置所有的东西,因为升级是非常重要的,并且使用旧的作为测试服务器。
如果您的增长速度超过了新服务器,您可以在旧服务器上设置RoR应用程序,并使用nginx来实现负载平衡。Mysql复制也可能是一个选项,至少对于备份值是这样。
https://serverfault.com/questions/110876
复制相似问题