2010-08-23 16 views
27

我讀過MongoDB文檔,它附帶關於32位系統的警告;特別是它們被限制在Mongo的2 GB可用內存上。在Linode 512 VPS上運行MongoDB的可行性?

所以我想知道這個聲明是否意味着在像Linode的512MB基於VPS的RAM這樣的低內存設置中運行MongoDB。我懷疑它很重要,但是用一個64位發行版來添加資源。

是否有警告或有人建議在VPS中爲MongoDB選擇最少的RAM?我知道項目需求數據,但是我的意思是最低限度,因爲即使將MongoDB旋轉起來也沒有什麼可笑的。

+2

哇,他們的文檔說「32位版本是限於大約2GB的數據。」在這裏,我認爲「數據」是磁盤空間。那將是一場災難。幾乎完全放棄了蒙戈當時和那裏。我很高興看到這個問題。 – Joe 2011-08-11 03:56:30

回答

26

我在一些使用我的Linode 512 &的小型生產網站上使用它,它幾乎不使用任何內存,只有大約5-6MB。目前我的數據集非常小。

MongoDB使用映射的內存存儲引擎,這意味着它依靠操作系統系統緩存來將常用數據保存在內存中。

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

+0

好的,謝謝你Klinky :)我會閱讀這些鏈接,並確保我對所涉及的術語有透徹的理解。 – RayTFM 2010-08-24 21:43:11

+1

崩潰很可能是由系統OOM殺手造成的。看看http://www.mongodb.org/display/DOCS/The+Linux+Out+of+Memory+OOM+Killer – thoaionline 2011-12-06 15:26:51

+0

創建交換文件可能是一個好主意,Linode在SSD上運行,所以它是不是很慢。在高負載下有一點滯後總是比徹底崩潰MongoDB更好。並確保調整'vm.swappiness',這樣你就不會碰到SSD,除非絕對必要。 – 2016-03-30 13:13:52

相關問題