Димитрий
Руслан
Всем доброго дня. В этой статье https://habr.com/ru/companies/otus/articles/520412/ вычитал про такой параметры как «file-and-forget» . Подскажите пожалуйста, где его выставлять?
Nick
Всем доброго дня. В этой статье https://habr.com/ru/companies/otus/articles/520412/ вычитал про такой параметры как «file-and-forget» . Подскажите пожалуйста, где его выставлять?
для начала fire-and-forget, настраивается через write concern = 0 параметр вашего драйвера (по умолчанию просто параметр w) https://www.mongodb.com/docs/manual/reference/write-concern/ ну и статья старая ужас, лучше сразу в доки идти пробежался по статье, может и имеет смысл, ссылки как минимум живы
Makar M.
Привет всем. Может кто подсказать, как в монго посмотреть текущие запросы в выполнении?
Makar M.
Может кто-то знает, по каким причинам монго может аллокировать много виртуальной памяти и уходить в своп?
Makar M.
Запросов тяжёлых нет
Makar M.
Коллекций больших тоже нет
Makar M.
А почти 900гб виртуальной памяти аллокированно
Makar M.
У кого-либо были похожие симптомы?
Makar M.
индексы сколько весят?
2.87 гб самое большое
Makar M.
Сейчас нет доступа на тот сервер
Makar M.
Да и уже рестартнуто
Ivan
836G передали
а на сервере сколько стоит памяти?
Makar M.
64гб если правильно помню. Доступа нет
Makar M.
Сервер в своп ушёл, так и поняли что проблемы
Nick
Сервер в своп ушёл, так и поняли что проблемы
Чтож, зато теперь знаете что надо выключать своп под бд. Так база бы просто была бы убита оом киллером. А на виртуальное пространство смотреть бессмысленно
Makar M.
Для чего ей такое кол-во потребовалось запросить
Nick
Для чего ей такое кол-во потребовалось запросить
для хранения данных, которые обрабатываются во время запроса. Вычитка в кэш с диска самих данных + индексы + результаты обработки до возврата результата
Makar M.
При 2.9 гб индексов и примерно столько же данных
Nick
Почти 900гб?
Виртуальное пространство не отображает занимаемое. Почитайте теорию
Makar M.
Виртуальное пространство не отображает занимаемое. Почитайте теорию
А причём тут занимаемое? Мой вопрос был в том, зачем она столько аллокировала с пустого места
Makar M.
С чего вы взяли что оно аллоцировано?
Потому что вирт. память почти 900 гб была за процессом монго
Nick
Потому что вирт. память почти 900 гб была за процессом монго
Так, вы же в курсе что виртуальная память это не аллоцированная, а просто объявленное адресное пространство?
Makar M.
Так, вы же в курсе что виртуальная память это не аллоцированная, а просто объявленное адресное пространство?
Почему эта память не аллокирована? Она была запрошена монгой, система выделила эту память, произошла аллокация, т.е. распределение/выделение. Что вы понимаете под аллокацией?
Nick
64
тогда вопрос, что еще крутится на серваке, раз своп был заиспользован?
Andrey
Нет
Тогда откуда цифра?
Nick
Тогда откуда цифра?
из virt колонки топа
Nick
Ничего, на сколько я знаю
вот это самый главный вопрос тогда, т.к. либо ос настроена фигачить в своп слишком аггресивно, либо ктото еще есть на серваке
Makar M.
Тогда откуда цифра?
Виртуальная память может быть по сути любой по размеру, но физически не получится использовать больше памяти чем своп + оператива
Dima
Коллеги, что может быть причиной того, что при подаче нагрузки на монгу - она распухает по памяти, а потом после спада нагрузки может достаточно долго память не освобождать?
Dima
для нее нормально вообще ничего не отдавать, что в памяти что по месту
https://www.mongodb.com/community/forums/t/high-memory-utilization-by-mongodb/218023/7
Dima
уже освежил в памяти этим обсуждением
Dima
тогда другой вопрос, если монго убивается сама спустя какой-то время, то ей просто не хватает памяти?
Dima
по логам смотри
Jan 11 12:52:43 com-mongo01-nts systemd[1]: mongod.service: Failed with result 'signal'. Jan 11 12:52:43 com-mongo01-nts systemd[1]: mongod.service: Scheduled restart job, restart counter is at 2. это что в консоли, а так логи в mongod.log чекнуть, да?
|$π€√`™
Dima
Скорее всего там oom killer ее убивает. Посмотрите в сторону cache_size
разве монго не должна сама в зависимости от выданных ресурсов скалировать параметры?
Dima
конфиг тачки: 4 ядра и 8 гб рам
Nick
тогда другой вопрос, если монго убивается сама спустя какой-то время, то ей просто не хватает памяти?
да, только внятной инфы как посчитать сколько ей надо и где она может загнуться я не встречал
Dima
кэш будет же по умолчанию 3.5gb?
Dima
(8-1)*0.5
|$π€√`™
разве монго не должна сама в зависимости от выданных ресурсов скалировать параметры?
Да должна, но нужно ещё учитывать размер самой БД и характер ее использования...
U
(8-1)*0.5 = 3.5
Dima
Да должна, но нужно ещё учитывать размер самой БД и характер ее использования...
да обычная бд помойка аудита, при росте нагрузки в пиках стала падать
|$π€√`™
конфиг тачки: 4 ядра и 8 гб рам
Возможно просто мало
Dima
я советовал ребятам не брать монгу и брать постгрес теперь просят помощи
Dima
Dima
Возможно просто мало
а у нее нет варианта работать с тем, что есть, но просто медленно?
|$π€√`™
я советовал ребятам не брать монгу и брать постгрес теперь просят помощи
Это же разные типы СУБД, зависит от задачи. Тут я бы не сказал что лучше
Nick
а у нее нет варианта работать с тем, что есть, но просто медленно?
неа, тут даже ручек нет чтобы както подрутить под свой профиль нагрузки, ни буферов там всяких ни потоков не подкрутишь
Dima
Это же разные типы СУБД, зависит от задачи. Тут я бы не сказал что лучше
да у постгреса есть такой же jsonb, для задач аудита и какого-то olap обе базы подойдут, но если в компании огромная экспертиза по постгресу, брать монгу не стоило
Dima
я еще предлагал кликхаус, но не решились вкладываться, уж лучше его
Nick
твое мнение по монге за все эти годы?
отбрасывая варианты типа для первого проекта на ноджс пойдет, сказал бы что удобно когда надо HA кластер без свистоплясок, но без сложных запросов аля аналитика по произвольным хотелкам. Идеально как шардируемый кластерный KV сторадж, хотя может сейчас появились варианты получше. По сравнению с ПГ на общих сценариях не выиграет ни по скорости ни по удобству проектирования
Null
7.0.5 (Jan 5) ◦ 6.0.12 (Nov 27 '23) ◦ 5.0.23 (Nov 27 '23) 🔥 Вернулся плейграунд: play.db-ai.dev 🔥 Вышли обновления: 7.0.5, 6.0.12, 5.0.23 и 4.4.27 💀 Скорее всего 4.4.27 последний релиз перед окончанием поддержки ветки 4.4.x в феврале этого года. Планируйте обновления • Документация • Официальный курсы: MongoDB University • 🧑‍🔧 Консультации и поддержка MongoDB от 2190€ в месяц: @dd_bb Stable: 7.0.5 (Jan 5) ◦ 6.0.12 (Jun 28) Bugfix: 5.0.23 (Nov 27 '23, ☠️ Oct '24) Legacy: 4.4.27 (Jan 3 '23, ☠️ Feb '24) ☠️ 4.2.24 (Apr '23), 4.0.28 (Apr '22), 3.6.23 (Mar ’21), 3.4.24 (Jan ‘20)
Ёж
Здравствуйте! Как пользоваться МонгоДБ в России?
Ёж
Скачать и пользоваться
Сайт разрывает соединение