Ilya
Какие есть новые книги по монге?
Gleb
А со старыми что не так?
Ilya
Ну монга обновлялась же
Ilya
А там книги 2013
Alexander
привет, народ. может кто подскажет. такая ситуация рельса + монга при каждом деплое монга начинает еле еле перевариать запросы. отвечает несравнимо дольше на то же самое. прям сильный пик на графике. минут через 10 все рассасывается и становится нормально. до следующего деплоя. единственное до чего у меня логика дошла - что при переинициализации коннекта монга отчищает или пересобирает кеш. но это тлько доводы. расскажите что могло бы быть, если в курсе?
Alex
смотря что происходит при деплое
Aleksey
графики есть. наверное есть график active_reads. наверное на него надо посмотреть. ну это так если пальцем в небо
Alexander
при деплое - монгу никак не трогаем вроде. по сути только перезапускается сервер приложения (ну и сайдкик с воркерами, что по сути то же) графики есть некоторые. скоординируй в какую сторону смотреть начать, покопаюсь @freeseacher а в смысле создает? если они изменились - я понимаю. а если у меня с индексани все осталось так же - разве будет то-то пересоздаваться? @Davidikus
Alexander
ок, посмотрю это как вариант
Nick
еще можешь докучи глянуть какие операции выполняются в этот момоент на монге через db.currentOp(), если там будет идти пересоздание индекс, то точно заметишь
Alexander
ок, спасибо. посмотрю тоже
P&P
праздное любопытство - инстанс монги под каждую коллекцию создаёт на сторадже(диске) отдельный файл?
yopp
Да
yopp
Если wt
yopp
И под индекс тоже
yopp
Если tls используется — может энтропии не хватать, если соединений много
yopp
Но лучше реально проверить что индексы не создаются. Mongoid?
yopp
Проверьте initializers, может кто-то туда засунул пересозданием индексов.
Viktor
могу предположить, что у вас приложение менедежит индексы в монге и при редеплое начинает все перестраивать
Alexander
ок, спасибо за советы. попроверяю все
Viktor
@dd_bb ensureIndex же выпилили? как лучше реализовать следующее: проверить, что индекс существует и если его нет, то создать?
yopp
Оно срабатывает один раз
Viktor
гляну как это с c# драйвером стыкуется, не кидает ли он исключение, если indexesBefore == indexesAfter
P&P
Да
thx!
Nick
@dd_bb а там бинарного экпортера статы не предвидится в ближайшее время, и если пилишь его то на чем
yopp
Предвидится, но это всё ещё руби. Там хуйня для упаковки в бинарник ещё сыровата, как её допилят, прикручу. Она пока ломается на ровном месте. Но у меня получилось собрать бинарник с какой-то конкретной версией.
Nick
а вообще уйти от руби не планировал?
yopp
Драйверов нормальных нет
yopp
В руби один из лучших, увы.
CC-BY-SA-4.0/Docker-ce30.0
Зачем?
CC-BY-SA-4.0/Docker-ce30.0
Ruby is acceptable lisp.
yopp
И это тоже
CC-BY-SA-4.0/Docker-ce30.0
❤️
Bruno
В руби один из лучших, увы.
а в питоне? just curious
yopp
В питоне неофициальный драйвер.
yopp
Плюс я не понимаю как можно делать язык в котором разметка играет роль в семантике.
yopp
Но это другой вопрос
CC-BY-SA-4.0/Docker-ce30.0
Кажется у тех кто пишет на питоне с этим проблем не возникает)
yopp
Это да
CC-BY-SA-4.0/Docker-ce30.0
Ну да.
yopp
Но не в этом дело. Дело в том что у неофициальных драйверов много всяких проблем по мелочи.
yopp
Хотя в родном тоже куча говна начала всплывать, после того как разработку отдали другому человеку.
Viktor
а как же java/kotlin? бинарник на выходе и портабельно
yopp
а в питоне? just curious
Я тебя наебал. Там официальный дайвер
yopp
Я с го перепутал
yopp
Мне очень нехочется это куда-то переписывать. Особенно учитывая что никто не контрибьютит.
yopp
В итоге в этом во всем ковырятся мне, а мне удобнее с рубями ковырятся.
yopp
В сказки типа «а ты перепиши и тут попрёт» я уже не верю.
Nick
тогда вопрос - какнить можно выставить таймаут на запрос экпортера к монге?
yopp
В прометее и выставлять
yopp
Если ты про то как сделать так, чтоб оно не валилось из-за одной тупящей монги — запускать несколько разных инстансов.
yopp
Допилят паковщик, я допилю CLI и сделаю экспортёр который мониторит только одну ноду. Как завещал прометей
yopp
Там ещё есть вопрос что делать если часть коллекций не получилось опросить. Думаю что надо будет ввести метрику чтоб показать что была ошибка и отдавать что получилось собрать.
серёжа
Привет! Хочу прикрутить mongo-connector между монгой и elasticsearch, может, кто подскажет, с auto-commit-interval=0 не будет ли очень грустно? :)
Slava
Но не в этом дело. Дело в том что у неофициальных драйверов много всяких проблем по мелочи.
а в гошном драйвере много проблем в целом(ну кроме той, что он как-то медленно развивается и пуллреквесты в него висят вечность)?
yopp
Проблема там одна: его поддерживает не монга. По опыту все сторонние драйвера сделаны мимо спецификации (или являются кривой оберткой вокруг mongoc)
yopp
В целом для экспортера это не очень релевантно, но мне лично не хочется ещё и в багах драйвера ковырятся потом.
Sergey
Гошный драйвер ннаписан не монговцами? Все тулзы монговские на го же.
yopp
https://docs.mongodb.com/ecosystem/drivers/go/
yopp
IMPORTANT mgo is not an officially supported MongoDB Driver at this time.
Slava
Я не понимаю зачем переписывать
это да, я просто не в контексте переписывания скорее спрашивал, а просто побольше узнать про болячки драйвера)
yopp
Гошный драйвер ннаписан не монговцами? Все тулзы монговские на го же.
Go figure. У них там какой-то недодрайвер в common в итоге
Slava
меня вообще страшит будущее гошного драйвера, так как в 3.6 грядут изменения в wire protocol
yopp
Не будет ничего такого. Будет драйвер работать без поддержки новых фич и всё.
yopp
Типа компрессии и сессий
P&P
меня вообще страшит будущее гошного драйвера, так как в 3.6 грядут изменения в wire protocol
изменения хорошие, но багов мы наскребём в клиентах дай боже...
yopp
Ничего вы не наскребёте. Там не такие серьёзные изменения
yopp
Там протокол дубовый
yopp
По сути bson туда-сюда гоняется. Там упростят то как bson в сокет складывается.
yopp
В драйверах проблемы не с протоколом, а с реализацией всяких вещей, типа мониторинга соединений. Например не все драйвера умеют в discovery досихпор.
Petro
Есть колекция, в которой хранятся документы с полем в котором base64, и ещё несколько нужных полей. Как можно быстро вытащить документы? По 300 шт тянут. Но сейчас 800ms занимает процесс получение.
Bruno
^ @dd_bb