на потребление оперативной памяти - монго практически всю съедает, возможно , конечно, так и до обновления было, но вряд ли. Может кто подскажет пожалуйста в какую сторону смотреть?
Монга в контейнере?
Это нормальное поведение ограничивайте объем контейнера
Память хост системы или контейнера? В целом, базы данных не эффективно размещать на одном физическом хосте с другими активными потребителями памяти/дискового io Монга расчитывает на два фактора: кеш данных и дисковый кеш ОС Под кеш данных она по-умолчанию выделяет 50% «видимой памяти» (но не меньше 256Мб), но через конфиг можно установить фиксированный размер (storage.wiredTiger.engineConfig.cacheSizeGB). Ещё какой-то объём она выделит под служебные структуры, включая различные буферы, например для сортировок или агрегаций. На всё остальное расчёт что ОС заберёт это под свои задачи и всё остальное будет использовать под дисковый кеш. В кеше данных все документы хранятся как есть, без компрессии. Монга расчитывает на свой алгоритм вытеснения «неактивных» и что только для активных потеря времени на компрессиию/декомпрессиию для них слишком большая. Но на диске данные хранятся уже в сжатом виде. Расчёт монги на то, что дисковый кеш ОС будет использоваться как «тёплый кеш», для данных которые требуются реже чем те, которые хранятся в кеше документов. Это всё равно на десяток порядков дешевле чем ходить на диск. Плюс это будет резервом на случай если самой ОС, монге или каким-то другим процессам потребуется дополнительная память. Это уменьшает шанс что ос, монга или системные сервисы начнут уходить в отказ из-за отказа в выделении памяти По этому если монга зарезервировала чуть больше половины памяти (если памяти >~1-2Gb), то это нормально и без явных причин с этим ничего делать не надо, иначе можно столкнуться со снижением производительности. Если больше ~70%, то проверить конфиг, возможно там указан фиксированный размер кеша, который не соотвествует реально доступной памяти #cacheSizeGB #память #wt #RAM
То есть получается, что нужно mongodb разбить на пару-тройку дисков?!
память хоста, спасибо за развёрнутый ответ
В 90% случаев не нужно :)
Обсуждают сегодня