Андрей
🤣
Андрей
На этом большом хосте крутятся огромные монстры, которые в своё время тоже едят всё. Есть базы, которые неделю только чекаются. Такая "писюлька" не стоит таких телодвижений. А разрабы будут пересматривать. Осталось только дождаться, когда бизнеса снесутся.
Ростислав ✚
Подскажите как проиндексировать поля масива обектов? Типа таких(скрин 1) Я пока записал так(скрин2), видел что в компасе так индексы создаются, это верно?
Ростислав ✚
yopp
На этом большом хосте крутятся огромные монстры, которые в своё время тоже едят всё. Есть базы, которые неделю только чекаются. Такая "писюлька" не стоит таких телодвижений. А разрабы будут пересматривать. Осталось только дождаться, когда бизнеса снесутся.
time mongorestore --authenticationDatabase=admin -u root -p sikret Executed in 498.30 secs fish external usr time 281.52 secs 0.09 millis 281.52 secs sys time 271.28 secs 1.73 millis 271.28 secs # du -hs dump/stress 5.4G dump/stress монга в стандартной конфигурации, в пике потребляла как и должна не больше 50% от доступной памяти. после завершнеия rss снова ~800мб у вас на этом хосте несколько mongod запущено?
Андрей
Любой сервер, винда, линух, любой дистрибутив, любая ФС.
yopp
монга в контейнере или прямо в хост системе?
Андрей
Без контейнера
yopp
на линуксе она из стандартных пакетов? если убунта то запускается через systemd?
Андрей
дженерик бины
Андрей
в смысле вот
yopp
попробуйте установить ulimit в соотвествии с рекомендациями https://www.mongodb.com/docs/manual/reference/ulimit/#recommended-ulimit-settings
Андрей
Последнюю попытку посмотрел. Ресторил в WSL. Есть to many open files.
yopp
да, это ulimits
Андрей
да, это ulimits
Нет. Это память течёт) Ну не влияют лимиты по файлам на литье ОЗУ
Андрей
90к лимит, ест 25-30 гиг озу
это на сервере с 40G ОЗУ, где рестор успешен
yopp
это на сервере с 40G ОЗУ, где рестор успешен
я не смог воспроизвести вашу проблему на датасете из 4к коллекций в 5гб
yopp
на моей рабочей машине всего 16гб памяти
yopp
я попробую на тестовом столе с убунтой попозже, есть конечно шанс что проблема в amd64 сборке, но это маловероятно
Андрей
Могу залить сюда архив бэкапный, если что
Андрей
Или можете сами. Ген данных например for (var i = 1; i <= 25000; i++) { db.testData.insert( { x : i } ) }
yopp
да, я примерно так и сделал
Андрей
И на 3к коллекций расплодить её потом
yopp
stress> db.stats() { db: 'stress', collections: 4000, views: 0, objects: 100000000, avgObjSize: 58, dataSize: 5800000000, storageSize: 1152446464, indexes: 4000, indexSize: 1067053056, totalSize: 2219499520, scaleFactor: 1, fsUsedSize: 454345838592, fsTotalSize: 494384795648, ok: 1 }
Андрей
Основной вопрос - как желудок уменьшить этому троглодиту в данной ситуации? Это вот единственный случай. Всё остальное множество и больших и маленьких баз в моём распоряжении спокойно себе ресторится на мелких дохлых серверах. Уже не помню сколько максимум коллекций в какой-нибудь другой базе. Смутно припоминая, 300 - 400.
yopp
вы можете временно установить, например, 4Гб
Андрей
Ничё не даёт. Ставил.
Андрей
Жрёт, сколько хочет.
Андрей
И в тот момент у меня "глаза и перекосило" 🤨
Андрей
Запишу завтра, может, видео.
yopp
Ничё не даёт. Ставил.
это очень странно. при сценарии с mongorestore в целом за пределами cacheSize, куда будут записываться данные из коллекций, пока они не вытеснятся, больших объёмов памяти выделять в принципе нечему. А вы только на 7.0 пробовали? На 6.0.6 не пробовали?
Андрей
3, 4, 5, 6, 7
Андрей
Я пошёл во все ...
yopp
а сколько памяти на хосте и какие значения storage.wiredTiger.engineConfig.cacheSizeGB вы пробовали?
Андрей
Мои базы в проде с лимитом кэша тоже "криво посмотрели" на это всё сумасшествие.
yopp
5 - 8, это лимит в 5гб при доступной памяти в 8гб?
yopp
и монга потребляет больше 5гб?
Андрей
Не. 5 - 8 лимиты. А по памяти я кучу серверов перепробовал, пока до сороковки не добрался.
Андрей
и монга потребляет больше 5гб?
Ну рестор съедал почти всё. И 25 ел
yopp
рестор вы имеете ввиду сам процесс mongorestore?
Андрей
процесс монгорестор 200-250 мб кушает
Андрей
вы можете временно установить, например, 4Гб
Заресторил щас с кэшом в 7.0.1 🥳. Правда ни о каких 5 минутах и мечтать не приходится как у вас и это на быстром диске, проце и памяти. 20 минут шло. За это время гиг 50 одна коллекция в zstd, наверное, б успела заехать 😐.
Alec
Всем привет, есть кто поставил монгодб на альт линукс ? Поделитесь опытом пожалуйста)
OZOD
Привет кто знает как получить число продуктов в каждый категории
OZOD
Например мы имеем продукты и категории. Каждые продукты иммет категории. Я должен узнать число продуктов в каждом категории
Kvhqm
Не могли бы тутор написать
с телефона неудобно, почитай библиотеку, так хоть научишься, как находить нужную инфу
Александр
При запуске сервера ошибка. Мб кто-то знает решение? :( Часа 3 уже борюсь с этим...
Александр
Tetra
При запуске сервера ошибка. Мб кто-то знает решение? :( Часа 3 уже борюсь с этим...
тут два варианта либо запрос реально долго выполняется и надо накрутить таймаут, либо сетевые проблемы и надо выяснять первопричину
Alec
всем привет ) я буквально вчера начел ковырять MongoDB и у меня такой вопрос создал бд серверную и применил парольные политики теперь не получается создать новый бд на втором серваке не применяя политик, получается создать дб и тут вопрос нужно создать бд сначала, после того применить политики или что то я не понимаю ?
Александр
Привет. Кто-то работал с typegoose? А если конкретнее - nestjs-typegoose.m8a.io Ошибка следующая: 1 скрин: такая настройка работает окей, все методы работают. 2 скрин: включается константа UserModel, а конкретнее - функция getModelForClass, из-за которой сервер ложится с ошибкой: [Nest] 19640 - 02.09.2023, 01:07:46 ERROR [Application] MongooseError: Operation `fish.find()` buffering timed out after 10000ms Я уже несколько часов е*усь с этой проблемой и никак не могу разобраться, на каком этапе идёт сбой.
Александр
Александр
Александр
Ошибка с fish.find - то же самое, что и с Users, идентичная реализация.
Махмуд
Добрый день) не подскажите команду которая показывает присвоенные роли по команде db.grantRolesToUser?
yopp
Добрый день) не подскажите команду которая показывает присвоенные роли по команде db.grantRolesToUser?
Здравствуйте! Через getUser https://www.mongodb.com/docs/manual/reference/method/db.getUser/#mongodb-method-db.getUser
yopp
Там будет поле roles с назначенными ролями
հ९९հօօժ
Всем привет. Столкнулся с проблемой с mongod.exe https://pastebin.com/8fvVjBR3 - ошибка Как пофиксить?
yopp
Всем привет. Столкнулся с проблемой с mongod.exe https://pastebin.com/8fvVjBR3 - ошибка Как пофиксить?
Вам нужно создать директорию для данных или указать существующую C:\\data\\db\\ not found. Create the missing directory or specify another path using (1) the --dbpath command line option, or (2) by adding the 'storage.dbPath' option in the configuration file."
հ९९հօօժ
а почему тогда в конфиге mongod
հ९९հօօժ
указана такая директория, которая существует
yopp
Возможно конфиг не подхватывается при запуске. Вы как системный сервис запускаете монгу?
հ९९հօօժ
через cmd
հ९९հօօժ
командой mongod
հ९९հօօժ
ну перед вводом командой перехожу в директорию с mongod
հ९९հօօժ
вот что происходит, когда указываю через --dbpath https://pastebin.com/mw727H75
yopp
Возможно это связано с пробелом в пути. Попробуйте с путем к директории без пробелов