MongoDB
Открыл для себя утилиту mongotop. По-коллекционно выводит лок чтения/записи, прямо по ней сразу же очевидны тормозящие места (мне, по крайней мере).
работаMongoDB
Мда. Построили в одном месте индекс, перезпаустили (надо было), теперь монго за несколько суток не ест больше 38m памяти (до этого ела под 500m).
MongoDB^_____^Performance is very snappy on an extremely small number of records.
— из статьи "делаем из postgresql подобие монгодб" legitimatesounding.com
MongoDB
Ах да, внезапно вспомнил и добавил --nojournal --noprealloc на монгу, что на tmpfs для тестов. Скорость почти та же, а памяти должно быть меньше съедено.
MongoDB
Убил трех зайцев, перенеся mongodb на tmpfs: 1. я гарантирую, что от данных не завишу (хай убиваются) 2. тесты забегали сильно быстрее. 3. мой диск ssd счастлив :)
MongoDB
В новой версии драйвера pymongo в секции "special thanks" моё имя :-) Мелочь (от меня был совершенно позорнейший пулл-реквест какой-то мелкий), а приятно.
MongoDB
А пока я в отпуске — пришла гениальная мысль. На работе статистику храним сразу в монге, и приходится ее держать на ssd-винтах, так как статистика "за сегодня" пишется много и часто, а остальная занимает много места, прямо непозволительно много, да и читается в основном, можно и на медленные веники выносить. Так вот мысль в том, чтоб шардинг заюзать, типа за сегодня пусть на sad хранится кусок, а остальное — на медленных винтах. Осталось только подумать как это автоматизировать для нескольких коллекций, кучи бд и поглядеть работает ли переразбивка кусков (надо ж будет раз в месяц "сегодня" обновлять).
MongoDB
Transactions in MongoDB blog.mongodb.org
Нет, они не сделали транзакции, а пытаются сказать, что часто они не нужны (благодаря документо-ориентированной схеме). Что ж, и то правда.
MongoDB
Блин, вот так всегда. Мигрировали на монго — думал "блин, столько опыта, столько интересностей". Пишу аметку об этом всём — сплошная нудотина и банальщина. Ладно, рас уж взялся — надо добить.
MongoDBto_memory
получить текущие операции, лочащие не на чтение:
db.currentOp()['inprog'].forEach(function(item) {if (item['lockType'] != 'read') {print(tojson(item));}});
MongoDB
Хотели заюзать команду compact — а она будет только в 1.9. Зато документация уже есть mongodb.org Как приятно, когда нужные фичи делают заранее и еще и документируют.
времядатыMongoDB
Люблю, знаете ли, даты и время. Думаешь, что уже разобрался с ними окончательно и бесповоротно — а они тебе новую свинью подкладывают! Класс) Вот очередной вопросик задал: groups.google.com