Мне любопытно, как mongodb будет работать в ограниченном vps. в частности, я разверну эту конфигурацию на 32-разрядном сервере ubuntu 9.04 с памятью 128 МБ (ОБНОВЛЕНИЕ: теперь я тоже рассматриваю 360 МБ).
все, кроме mongodb, похоже, занимают мало места. с точки зрения отображения памяти, я не знаю, как будет себя вести mongodb.
Я знаю, что использовать такую конфигурацию на крошечном vps немного сложно, но сейчас это то, что я могу себе позволить. я ожидаю получить .. хм .. может быть ~50 15рпс. Я сделал домашнее задание, сделал много оптимизаций внешнего интерфейса, и yslow сказал, что оценка A 91 (набор правил V2) :-)
кто-нибудь желает поделиться опытом? например. насколько велик размер набора данных, когда монго достигает потолка, производительность, когда монго выполняет много операций ввода-вывода диска и т. д. спасибо.
ОБНОВЛЕНИЕ: это мой любимый проект. Я вернусь к вам, когда у меня будет следующее свободное время, чтобы сделать тот же httperf в vbox с точными спецификациями. Предложение, как сделать стресс-тестирование, приветствуется. Я новичок в таких вещах.
Я запускаю ~ выше конфигурации (+ супервизор + сценарий errorlogger -redis) в VirtualBox vm. Я загрузил 5000 документов, в результате чего размер данных составил ~ 60 МБ (db.mycollection.totalSize ()).
В этом тесте / article выполняет два запроса для разбиения на страницы и 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
Это снимок `` верха '' внутри 128-мегабайтного бокса 'vps'
Mem: 121528k total, 117532k used, 3996k free, 2732k buffers
Swap: 409616k total, 8244k used, 401372k free, 56904k cached
Мой вывод? я не знаю, нужно сравнить конфиг с mongodb, замененным на mysql .. возможно, достаточно хорошо?
Да, не думаю, что это сработает. MongoDB, который у меня запущен на данный момент, использует 560 МБ VIRT, 205 МБ RES. Я не знаю, как это соотносится с размером набора данных, но подозреваю, что у вас возникнут проблемы. Но есть только один способ узнать наверняка - попробовать и убедиться. Если вы не можете обновить свой VPS (насколько дешево вы получаете VPS на 128 МБ, если вы не можете позволить себе Linode на 360 МБ?), Попробуйте его, а если это не сработает, разверните MongoDB и используйте что-нибудь еще.
вы знаете, что mongodb использует mmap и просто выделяет весь барана, на котором он получает свои липкие пальцы ...
Предполагая, что 128 МБ 32-бит, помните, что вы ограничены 1,8 ГБ данных.