当mongodb内存不足时会发生什么?

Som*_*ser 8 memory performance mongodb

例如,我有数据库20 GB的数据,只有2 GB RAM,交换关闭.我能找到并插入数据吗?性能有多糟糕?

kam*_*ber 5

这实际上取决于您的工作集的大小。

如果您的工作集小于RAM大小,MongoDB可以处理非常大的数据库,并且仍然非常快。

工作集是您正在处理的时间和索引的文档集。

这是一个可以帮助您了解这一点的链接:http : //www.colinhowe.co.uk/2011/02/23/mongodb-performance-for-data-bigger-than-memor/


Til*_*ilo 5

最好谷歌这一点,但许多消息来源说,当你的工作集超过你的RAM大小时,性能将显着下降.

分片可能是一个有趣的选择,而不是添加更多的RAM ..

http://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage

http://highscalability.com/blog/2011/9/13/must-see-5-steps-to-scaling-mongodb-or-any-db-in-8-minutes.html

http://blog.boxedice.com/2010/12/13/mongodb-monitoring-keep-in-it-ram/

http://groups.google.com/group/mongodb-user/browse_thread/thread/37f80ff39258e6f4

当数据库的大小比RAM大时,MongoDB可以工作吗?

将"工作集"安装到MongoDB的RAM中意味着什么?

您可能还想阅读去年的4square停机:

http://highscalability.com/blog/2010/10/15/troubles-with-sharding-what-c​​an-we-learn-from-the-foursquare.html

http://groups.google.com/group/mongodb-user/browse_thread/thread/528a94f287e9d77e

http://blog.foursquare.com/2010/10/05/so-that-was-a-bummer/

边注:

你说"掉掉了"......?为什么?您应该始终在UNIX系统上有足够的交换空间!交换大小= 1 ... 2倍RAM大小是个好主意.使用快速分区是个好主意.如果您的UNIX系统耗尽RAM并且没有Swap,则会发生非常糟糕的事情.进程只会莫名其妙地死掉......这是一件非常糟糕的事情!特别是在生产中.磁盘很便宜!添加一个宽大的交换分区!:-)