← All posts tagged MongoDB

Открыл для себя утилиту mongotop. По-коллекционно выводит лок чтения/записи, прямо по ней сразу же очевидны тормозящие места (мне, по крайней мере).

Ах да, внезапно вспомнил и добавил --nojournal --noprealloc на монгу, что на tmpfs для тестов. Скорость почти та же, а памяти должно быть меньше съедено.

Убил трех зайцев, перенеся mongodb на tmpfs: 1. я гарантирую, что от данных не завишу (хай убиваются) 2. тесты забегали сильно быстрее. 3. мой диск ssd счастлив :)

В новой версии драйвера pymongo в секции "special thanks" моё имя :-) Мелочь (от меня был совершенно позорнейший пулл-реквест какой-то мелкий), а приятно.

А пока я в отпуске — пришла гениальная мысль. На работе статистику храним сразу в монге, и приходится ее держать на ssd-винтах, так как статистика "за сегодня" пишется много и часто, а остальная занимает много места, прямо непозволительно много, да и читается в основном, можно и на медленные веники выносить. Так вот мысль в том, чтоб шардинг заюзать, типа за сегодня пусть на sad хранится кусок, а остальное — на медленных винтах. Осталось только подумать как это автоматизировать для нескольких коллекций, кучи бд и поглядеть работает ли переразбивка кусков (надо ж будет раз в месяц "сегодня" обновлять).

Блин, вот так всегда. Мигрировали на монго — думал "блин, столько опыта, столько интересностей". Пишу аметку об этом всём — сплошная нудотина и банальщина. Ладно, рас уж взялся — надо добить.

Хотели заюзать команду compact — а она будет только в 1.9. Зато документация уже есть mongodb.org Как приятно, когда нужные фичи делают заранее и еще и документируют.