我很好奇mongodb将如何在有限的vps中执行。 具体来说,我将部署这个configuration在128位内存的32位ubuntu 9.04服务器(更新:现在我也考虑360mb)。
除了mongodb之外,似乎都有很小的占用空间。 内存映射明智,我不知道如何mongodb行为。
我知道这是一个微小的VPS使用这种configuration有点延伸,但这是我现在可以负担得起的。 我希望有..嗯..也许〜50 15RPS。 我做了我的功课做了很多前端优化,yslow说A 91级(规则集V2):-)
谁愿意分享经验? 例如。 mongo打到天花板时数据集大小有多大,mongo做很多磁盘IO时的性能等等,谢谢。
更新:这是我的宠物项目。 当我有下一个空闲时间在一个确切的规格在一个盒子里做同样的httperf我会回到你身边。 build议如何做压力testing表示欢迎。 我是新来的这种东西。
是的,我认为这不会起作用。 我现在运行的mongoDB使用560MB VIRT,205MB RES。 我不知道如何映射到数据集的大小,但我怀疑你会遇到问题。 只有一种方法可以肯定,尽pipe – 试试看。 如果你不能升级你的VPS(你有多less便宜,你得到一个128MB的VPS,你不能负担360MB的Linode?),然后尝试一下,如果它不起作用,滚出MongoDB和使用别的东西。
我在VirtualBox vm中运行〜上面的configuration(+ supervisor + errorlogger script -redis)。 我加载了5000个文档,导致大约60Mb的数据大小(db.mycollection.totalSize())。
在这个testing中,/ 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
我的结论是? 我不知道,需要比较configuration与MongoDB取而代之的MySQL ..也许,够了吗?
你知道mongodb使用mmap,并将分配所有的RAM它得到它的粘手指…
假设128MB是32位的,请记住你只限于1.8GB的数据