首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Rails应用程序扩展服务器的第一步

为Rails应用程序扩展服务器的第一步
EN

Server Fault用户
提问于 2010-02-08 21:08:29
回答 3查看 216关注 0票数 4

我正在运行一个双核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

EN

回答 3

Server Fault用户

回答已采纳

发布于 2010-02-09 00:59:36

它没坏,别修好它。

作为一般性的下一步建议,您可以/应该将静态文件拆分为nginx或cdn,然后花一些时间分析mysql查询,看看索引或细微的调整在哪里有帮助。

有了运行rails的双核机器,您应该能够轻松地维持负载平均2-3,而不会对用户产生任何影响。

票数 1
EN

Server Fault用户

发布于 2010-02-08 21:15:04

首先,您需要找出导致CPU负载的原因-- db或apache/RoR应用程序。

我建议你把四核机器作为db服务器,把双核作为web服务器。如果您发现web服务器有更多问题,则始终可以添加另一个负载平衡问题。

但是,首先检查一下当前负载是什么。

票数 0
EN

Server Fault用户

发布于 2010-02-08 21:17:07

我会在新计算机上设置所有的东西,因为升级是非常重要的,并且使用旧的作为测试服务器。

如果您的增长速度超过了新服务器,您可以在旧服务器上设置RoR应用程序,并使用nginx来实现负载平衡。Mysql复制也可能是一个选项,至少对于备份值是这样。

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

https://serverfault.com/questions/110876

复制
相关文章

相似问题

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