J
на мастере "stateStr" : "STARTUP2",
Alex
потеря индекса на _id это круто. :( Имхо, вам стоит подумать о переезде на другое железо и более production ready OS..
J
мастер прокачал 92 гб и опять упал
J
куда смотреть подскажите
Roman
как тебе это удаётся?
Alex
так снова repair, если помогает
J
да так и сделал
J
но я не могу понять почему падает
J
тоже что и было в первый раз
Alex
но я не могу понять почему падает
возможно, побились структуры данных в базах. Хотя по идее он их должен был восстановить при первом репейре, но кто его знает
J
ну кто тож знает
J
где гарантия что она опять не ляжет даже когда засинхронитсья
Alex
да никто не знает. ругается она на файл, который по её мнению был да всплыл. Чтобы попытаться понять что за файл вообще она ищет, я писал, попробуйте запустить mongod через strace , т.е # strace -e open .../mongod ...опции...
Alex
когда упадет, возможно, будет видно какой файл была попытка открыть или хотя бы что это за дескриптор был
J
спасибо попробую
Anonymous
Коллеги, ищем докладчиков по Mongo на http://devconf.ru/ru/offers
Alex
Как там дела у James?
Alex
Мы вот сегодня сделали первый шаг по переходу с 2-ки на 3.2. Поскольку сразу на 3.2 нельзя, надо сначала на 3.0, а с нее уже прыгать на 3.2. Вооот. Делали всё по доке. Обновили обе ноды в репликасете, но бд оставили в старом формате. Потом на слейве переключили на WT. Реплика пересоздалась, вроде всё ок. Сделали её мастером - и началось! Все запросы на запись в бд завершались ошибкой без каких-либо вменяемых описаний - Error update и всё тут. Вернули мастером ноду с базой в старом формате. Повторили переключение еще раз - со второго раза вроде завелось... Ох. Игра с огнем эта монгадб.
Roman
Ну, wt - хороший движок ;) но отдельно от монги :)
Alex
Внутри ВАЗ 2108 тоже неплохой движок. Но отдельно от ВАЗ 2108 =) А толку,
Roman
Я использовал wt отдельно от монги :)
Roman
Но потом забил
Alex
А может кто знает, зачем монга (3, 3.2) при создании реплики "с нуля" на secondary ноде дважды перестраивает индексы? Т.е мы наблюдаем такое: убиваем данные на secondary, начинается sync init. После этого - запускается создание индексов. После этого опять sync init , но уже быстрый, данных для синка нет, и снова - пересоздает индексы! o_0 Повторение мать учения, чтоли?
Alex
2
Alex
ну, в смысле, всего 2 сервера в сете
Alex
+арбитр, конеч
Igor
привет
Igor
count очень медленный что делать?
Igor
db.media.explain().find({ok: true, is_private: false, created_year:{$in: [2000, 2001, 2002]}}).sort({ index: 1, min_created_date: 1 }).count()
Igor
{ "stage" : "IXSCAN", "keyPattern" : { "is_private" : -1, "ok" : 1, "index" : 1, "min_created_date" : 1, "created_year" : 1 } }
Igor
но почему выполняется 68508ms
Igor
что я делаю не так?
Igor
как жить?
Igor
да знаю
Igor
но что делать?
Igor
сори но я не понял
Alex
а зачем sort в count?
Igor
да
Igor
я сам не заметил
Igor
ну вообще в коде и так без сорт выполняется
Alex
ну а размер БД, индексов и сколько памяти на сервере?
Alex
Serge почему-то не спросил про версию =)
Igor
3.2 запущена на моем mbp retina i5 с 8гб > db.stats() { "db" : "picryl", "collections" : 23, "objects" : 4934972, "avgObjSize" : 2385.8588638395518, "dataSize" : 11774146689, "storageSize" : 5409226752, "numExtents" : 0, "indexes" : 128, "indexSize" : 2304520192, "ok" : 1 }
Igor
> db.media.stats() { "ns" : "picryl.media", "count" : 2793589, "size" : 6722435508, "avgObjSize" : 2406, "storageSize" : 3025006592, "capped" : false, }
Igor
ну а размер БД, индексов и сколько памяти на сервере?
если вас интересует размер памяти и индексов значит эта проблема с индексами решаема?
Igor
погуглив мне показалось что с этим ничего не поделать
Alex
минута на этот запрос - это много
Alex
я не знаю точно в чем проблема. Возможно, индексы вытеснены из памяти и монга шуршит диском. Какая ОС? Что-то еще тяжелое запущено?
Igor
раньше была такая выборка { ok: true, is_private: false, max_created_date: { '$gte': Tue Jan 01 1895 03:00:00 GMT+0300 (MSK) }, min_created_date: { ' $lte': Sun Dec 31 1905 03:00:00 GMT+0300 (MSK) } } sort: { index: 1, min_created_date: 1 } это гораздо хуже работало
Igor
Igor
вообще я не желаю получить ответ
Igor
просто хотел убедиться что это не только у меня проблема
Alex
imho, памяти не хватает
Igor
у медия нет точной даты создания - есть диапазон он хранится как 2 поля min и max и мне нужно выбрать например медиа в диапазоне с 1900 по 1915
Alex
так запрос в индекс бьет же
Alex
IXSCAN
Alex
не должно быть, да, но запрос попадает в индекс, монга же не врет
Alex
(ну, примем это как пасутлат =)
Alex
выгрузите все лишние процессы и повторите запрос пару раз
Alex
вангую, что после первого раза начнет быстро работать
Alex
да, а что за ОС-то, яблоко?
Igor
да
Igor
когда 2 границы нельзя в индекс попасть
Alex
что видно? темку KDE? :)
Alex
конечно, проще погадать, чем просто написать. ок .
Igor
то что chrome canary а не chromium уже палит что не линукс)
Alex
может он имя процесса поменял
Alex
=)
CC-BY-SA-4.0/Docker-ce30.0
если открыть хтопом
CC-BY-SA-4.0/Docker-ce30.0
и заценить слева направо
CC-BY-SA-4.0/Docker-ce30.0
сколько туда улетает параметров
Alex
а free -m в яблоках нет?
CC-BY-SA-4.0/Docker-ce30.0
но как это связано?
CC-BY-SA-4.0/Docker-ce30.0
ты посчитал количество хромовых процессов
CC-BY-SA-4.0/Docker-ce30.0
а там слева направо экранов 10 параметров, эт так прост смешнявочка)
CC-BY-SA-4.0/Docker-ce30.0
о, ща
CC-BY-SA-4.0/Docker-ce30.0
CC-BY-SA-4.0/Docker-ce30.0
Это только верхушка верхушки айсберга