Vps

128mb 32 位 VPS 上的 MongoDB(加上 Tornado 和 Redis)

  • August 24, 2010

我很好奇 mongodb 在有限的 vps 中的表現如何。具體來說,我將在具有 128Mb 記憶體的 32 位 ubuntu 9.04 伺服器上部署此配置(更新:現在我也在考慮 360mb)。

  • nginx和redis
  • 三個龍捲風應用程序實例(一個用於移動網站;有限的應用程序,不是我的主要受眾);有大約 8 個集合。我的社區的社交網路應用程序。
  • mongodb

mongodb 旁邊的所有內容似乎都佔用空間很小。記憶體映射方面,我不知道 mongodb 會如何表現。

我知道在小型 vps 上使用這種配置有點牽強,但這是我現在能負擔得起的。我希望有.. 嗯.. 也許〜50 15rps。我做了很多前端優化的作業,yslow 說 A 91 級(規則集 V2):-)

有人願意分享經驗嗎?例如。mongo 達到上限時的數據集大小,mongo 執行大量磁碟 IO 時的性能等等。謝謝。

更新:這是我的寵物項目。當我有下一次空閒時間在具有精確規格的 vbox 中執行相同的 httperf 時,我會回复您。歡迎提出如何進行壓力測試的建議。我是這種東西的新手。

我在 VirtualBox vm 中執行 ~ 以上配置(+supervisor +errorlogger script -redis)。我載入了 5000 個文件,導致數據大小約為 60Mb (db.mycollection.totalSize())。

在這個測試中,/articles 執行了兩個分頁查詢和 15 個查詢來獲取關係文件。

$httperf --hog  --num-conn 1000 --timeout 5 --server peduli.vps --uri /articles

# 360Mb box
Connection rate: 7.6 conn/s (131.4 ms/conn, <=1 concurrent connections)
Connection time [ms]: min 118.7 avg 131.4 max 300.0 median 128.5 stddev 12.2
Reply rate [replies/s]: min 6.8 avg 7.6 max 8.0 stddev 0.3 (26 samples)
Reply time [ms]: response 128.8 transfer 2.2

# 128Mb box
Reply rate [replies/s]: min 4.2 avg 6.3 max 7.2 stddev 0.7 (31 samples)
Reply time [ms]: response 154.5 transfer 4.2

$httperf --hog  --num-conn 100 --ra 10 --timeout 5 --server peduli.vps --uri /articles
Connection rate: 7.8 conn/s (127.9 ms/conn, <=34 concurrent connections)
Connection time [ms]: min 181.4 avg 2267.7 max 4889.5 median 2421.5 stddev 1209.6

這是 128Mb ‘vps’ 盒子內的 ’top’ 快照

Mem:    121528k total,   117532k used,     3996k free,     2732k buffers
Swap:   409616k total,     8244k used,   401372k free,    56904k cached

我的結論?我不知道,需要將配置與 mongodb 替換為 mysql 進行比較。也許,足夠好嗎?

是的,我認為這行不通。我目前正在執行的 mongoDB 使用 560MB VIRT、205MB RES。我不知道這如何映射到數據集大小,但我懷疑你會遇到問題。不過,只有一種方法可以確定——試試看。如果您無法升級您的 VPS(您買不起 360MB Linode 的 128MB VPS 有多便宜?),然後嘗試它,如果它不起作用,推出 MongoDB 並使用其他東西。

引用自:https://serverfault.com/questions/86190