在 Linode 512 VPS 上运行 MongoDB 的可行性?

Posted

技术标签:

【中文标题】在 Linode 512 VPS 上运行 MongoDB 的可行性?【英文标题】:Feasability of running MongoDB on Linode 512 VPS? 【发布时间】:2011-04-02 20:26:57 【问题描述】:

我已阅读 MongoDB 文档,其中包含有关 32 位系统的警告;特别是 Mongo 的可用 RAM 上限为 2 GB。

所以我想知道该声明是否意味着在低内存设置中运行 MongoDB,例如 Linode 的 512mb 基于 RAM 的 VPS。我怀疑这很重要,但使用 64 位发行版供以后添加资源。

是否有任何警告或有人会建议在 MongoDB 的 VPS 中选择最少的 RAM?我知道项目需求会影响到这一点,但我的意思是最低限度的意思是,即使没有启动 MongoDB 也会很可笑。

【问题讨论】:

哇,他们的文档说“32 位构建仅限于大约 2GB 的数据。”在这里我认为“数据”是磁盘空间。那将是一场灾难。当时几乎完全放弃了Mongo。很高兴看到这个问题。 【参考方案1】:

我在一些小型生产站点上使用它,这些站点在我的 Linode 512 中运行,它几乎不使用任何内存,只有大约 5 - 6MB。我的数据集目前非常小。

MongoDB 使用映射内存存储引擎,这意味着它依赖于 OS 系统缓存将经常使用的数据保存在内存中。

http://www.mongodb.org/display/DOCS/Caching

所以除非你有一个庞大的数据集开始,否则 Linode 512 应该没问题。

在研究这个问题时,我有点担心的一件事是 MongoDB 在内存不足时似乎会崩溃,而没有太多警告。也很难准确确定它将使用多少内存或磁盘空间与您拥有的数据量成正比。也没有办法指定硬限制,代价是性能下降。这是您可能想要监控的内容。

您可以尝试使用 --smallfiles --noprealloc 选项运行 MongoDB,因为这允许从较小的数据库文件开始而不是预先分配它们,如果您的数据集较小,则可以节省磁盘空间。

这是一位用户的体验:

http://groups.google.com/group/mongodb-user/browse_thread/thread/223810a749f0e1eb

不幸的是,该线程没有解决,如果他们有崩溃的原因会很好。

这也很好读:

http://groups.google.com/group/mongodb-user/browse_thread/thread/2646a52c4f41d832/d43f3ba7bbbbd63d

【讨论】:

好的,谢谢 Klinky :) 我会阅读这些链接并确保我对所涉及的条款有透彻的了解。 崩溃很可能是系统OOM杀手造成的。看看mongodb.org/display/DOCS/The+Linux+Out+of+Memory+OOM+Killer 创建一个交换文件可能是个好主意,Linode 在 SSD 上运行,所以速度不是那么慢。在高负载下有一点延迟总是比让 MongoDB 完全崩溃要好。并确保调整vm.swappiness,这样你就不会碰到SSD,除非绝对必要。

以上是关于在 Linode 512 VPS 上运行 MongoDB 的可行性?的主要内容,如果未能解决你的问题,请参考以下文章

linode vps通过winscp可以连接的上,但是从本地往上传文件就会报如下图的错误,求vps达人解决下?

.Linode服务器的使用 网站转移

将 Cassandra 集群部署到一组 Linode VPS 实例是不是有任何“陷阱”?

Linode中的Network Helper

在 VPS 托管公司上传应用程序是不是安全?

在 Linode 上托管 Rails 应用程序