Сергей
maxsimych
Всем привет, подскажите как лучше сделать такой запрос? Возможно ли это сделать одной аггрегацией? У меня пока не получилось. Сложность в том, что нужно совместить группировку с офсетом, пагинацией. Набросал пример того что нужно
yopp
Если вы выбираете по пользователям, то самый простой вариант это $lookup в items
yopp
Вы выбираете пользователей, делаете offset/limit и потом делаете $lookup в items
maxsimych
yopp
Не забудьте индекс по полю с user id в коллекции items
maxsimych
Да, это ObjectId
yopp
Это отлично, но любом случае, добавьте индекс по полю в котором он содержится. Иначе лукапы будут очень неэффективными
Fenicu
Добрый, возможно ли искать по регулярке?
Stepan
Fenicu
Каким образом?
Fenicu
например у меня есть поле name и нужно найти всех Ген, Геннадиев
Fenicu
а, всё сильно проще, чем я думал
Fenicu
спасибо большое!
Гена
Коллеги
На сервере с монгой высокий Load average но при этом ЦПУ и РАМ в норме
Гена
что в этом случае надо ширить ?
Гена
ЦПУ ?
Гена
РАМа 48гб 4 ЦПУ
Denis
Гена
Гена
ЦПУ 60-70 процентов
Denis
Сколько клиентов и коннектов к базе? Какая конфигурация? replicaset или просто standalone?
Гена
Это шардированный кластер, по подключениям не подскажу точно.
Гена
но много
Гена
и еще вопрос - если 48гб, монга из них юзает 25гб, то она не будет больше использовать?
yopp
Гена
yopp
Гена
просто не является ли это причиной большого LA?
yopp
WT
WT это storage engine. Меняли ли вы алгоритм компрессии с дефолтного snappy?
Гена
Гена
я пока не очень понимаю о чем речь
yopp
А высокий LA это сколько?
Гена
8 почти
Dmitry
8 не 90)
Dmitry
проблемы то есть с производительностью? или чисто LA беспокоит?
Dmitry
индексов в базе хватает?
Гена
8 не 90)
ну тем не менее)
мы планируем накинуть мощей на сервера
вот и надо понять чего накинуть РАМ или ЦПУ
Гена
Denis
8 почти
Вы учитывайте что у вас на каждую шардру если не ошибаюсь идет репликасет, а это затратные операции для CPU. Еще нужно учитывать колл-во коннектов к базе и операций с базами данных. Как по мне адекватные показатели по LA
Dmitry
ну меня LA зашкаливал когда индексов не хватало.. индексы проставил - LA упал
Гена
yopp
Гена
4
Гена
Я думаю что имеет смысл запросит сайзинг до 8 ядер
yopp
Гена
судя по всему идут большие кол-ва мелких запросов, который особо и не грузят ни рад ни ЦПУ
yopp
4
4 физических ядра или это с НТ?
Гена
НТ?
yopp
HyperThreading. Логические ядра
Гена
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 4
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 63
Model name: Intel(R) Xeon(R) CPU E5-2643 v3 @ 3.40GHz
Stepping: 0
CPU MHz: 3396.066
BogoMIPS: 6792.13
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 20480K
NUMA node0 CPU(s): 0-3
Гена
физических получается
yopp
Гена
ну какой есть
Гена
Как вы думаете если накинуть ядер, LA подспадёт?
yopp
А, это v3. Не очень старый
Гена
Как я это вижу - запросы бегут в монгу и Монга упирается в свой дефолтный кэшсайз и страдает ЦПУ
Гена
ну и LA
yopp
Вероятно это затраты на компрессию. Если кэш не стабилизируется, то такое может быть. Странно что при этом диск справляется.
А что с cache metrics в монге?
Гена
Гена
это на один сервер, одна монга
Гена
ну то есть монга больше 25гб не юзает
Гена
данные за месяц
yopp
Гена
Гена
Обращений к дискам почти нет
Гена
но при этом LA 8
Гена
можешь как-то зафорсить монгу использовать больше рам?
yopp
ну я тоже. Кеша используется половина РАМа
Я про метрики WT из collStats:
"cache" : {
"bytes currently in the cache" : <number>,
"bytes dirty in the cache cumulative" : <number>,
"bytes read into cache" : <number>,
"bytes written from cache" : <number>,
Гена
"cache" : {
"application threads page read from disk to cache count" : 737592,
"application threads page read from disk to cache time (usecs)" : 267848576,
"application threads page write from cache to disk count" : 21663829,
"application threads page write from cache to disk time (usecs)" : 379729503,
"bytes belonging to page images in the cache" : 8663317479,
"bytes belonging to the cache overflow table in the cache" : 182,
"bytes currently in the cache" : 19630093614,
"bytes not belonging to page images in the cache" : 10966776134,
"bytes read into cache" : 13826086654,
"bytes written from cache" : 448637007077,
yopp
Это надо не в моменте смотреть, а в динамике
Гена
мм
Гена
понял
yopp
Это ключевая метрика которая показывает как используется кеш