首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何缩小低内存服务器的规模?

如何缩小低内存服务器的规模?
EN

Server Fault用户
提问于 2009-10-30 22:50:35
回答 4查看 924关注 0票数 2

我的一个Rails应用程序有问题,它运行在365 my的VPS上,这似乎不是很多。当同时有超过3-5个用户时,它就会耗尽内存,并开始使用交换,即f*。

当我查看top时,我可以看到产生了许多mysql实例(远远超过Rails进程)。这是正常的吗?

您建议如何缩小低内存环境下的应用程序?

我使用的是Ubuntu9.04,Apache2.2和mod乘客,MySQL 5.075和Ruby1.8.7

编辑:根据您的建议,我将VPS升级到540 to,目前看来已经足够了。然而,我只是一个贫穷的学生,所以我不能在我主要为自己做的某个项目中投入太多的钱,直到它开始偿还至少一些东西。

EN

回答 4

Server Fault用户

回答已采纳

发布于 2009-10-30 23:00:10

将有几个mysql线程,而不是进程。某些版本的"Top“和"ps”显示线程,就好像它们是单独的进程一样。

MySQL可以任意调优。优化它的最好方法是对所有表只使用一个引擎--如果您使用的是InnoDB,则只使用InnoDB。

然后根据需要对缓冲区进行优化--主要是MyISAM密钥缓存和innodb缓冲池。如果您只使用MyISAM,则在innodb引擎中完全禁用my.cnf中的skip。

对于Apache来说,运行尽可能少的MaxClients;要么禁用备活,要么设置超时--非常低的保持活动连接--仍然会占用(大量) Apache进程。

当然,做任何这些事情都可能对性能有害,因此,如果您关心性能倒退,那么在非生产系统上测试它。

买更多的公羊可能比花时间调整这样一个小盒子更符合成本效益。在我们的工作中,每个开发人员都有一个带有16G内存的刀片,只是为了测试目的。这被认为是合理的,而且不太昂贵。

票数 2
EN

Server Fault用户

发布于 2009-10-31 01:25:31

您将花费大量的时间(因此也是金钱)摆弄调优参数,以可能节省一些内存。只要升级VPS上的RAM,你就能赚到更多的钱。

票数 4
EN

Server Fault用户

发布于 2009-10-31 11:52:28

你需要挖掘更多,找出你的内存在使用什么,每个进程需要多少,寻找潜在的泄漏等等。但我的建议是回应其他建议:换来更多的RAM。365 at是花生,根本不会放大。这个问题由于你对框架的选择而变得更加复杂--阅读一下推特体验这里

选定的产出:

所有方便的方法和语法糖,使Rails这样的乐趣,最终是绝对惩罚,性能方面。一旦达到一定的流量阈值,要么需要去掉Rails为您带来的所有昂贵的整洁的东西(RJS、ActiveRecord、ActiveSupport等)。或者将应用程序的慢部分移出Rails或两者,也值得一提的是,在这一点上,任何人都不应怀疑Ruby本身是慢的。

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

https://serverfault.com/questions/80047

复制
相关文章

相似问题

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