TGViewer
Make. Build. Break. Reflect. Make. Build. Break. Reflect. @makebreakreflect · 1.37K subscribers
Post #62 394
#alertmanager #troubleshooting

Сижу никого не трогаю.
Прилетает алёрт - превышение IOPS для MongoDB в K8s кластере.
Алёрт и метрики я писал сам, стало интересно, а чо прям можно упереться в максимум премиум ссд, вы там, бл, майните что-ли?
(на самом деле ссыканул, думал моя арифметика сбоит и алёрт фейк говно).

Не, прям по метрикам графаны - IOPS PV высокий.
Захожу в другие графики - read/write на PVC прям высокий.
То есть и IOPS и read/write был на нуле почти, а теперь в сотни тысячи раз выше.

Посмотрел по последним релизам - да, сутки назад был релиз и после этого начало гореть.
Пишу qa, pm - спрашиваю ожидаемая нагрузка, они говорят что нет. Да и вообще релиз прошёл, там нет ничего, ты чо.
Все вертят головой, говорят это я дурачок,у них всё ок.

* Сделаем ремарку и я уточню, что про монгодб я знаю лишь общее описание что это и всё.
Ну практического опыта у меня нет. Могу установить, могу дать креды и закрыть сеткой приватной и.. и пожалуй всё.
В общем начал я читать про базы данных, коллекции, операции, нагрузку.
Потом начал читать про репликацию в кластере, может это остаток репликации после апдейта.
Короче алёрт горит, а я всё читаю и читаю.
В итоге при помощи документации и великолепнейшего и любимого мной теперь DataGrip подключаюсь к базе(креды взял в секрете кубера, а порт прокинул через портфорвард, экстернал ендпойнта не было).
Посмотрел на базы, на коллекции, поигрался с запросами. Поспрашивал про типичные команды у нейронок.
В общем выяснил то, что
- размер с индексами 1.5гигабайта
- в новой версии софта у нас есть запросы с collscan

То есть делается обычный запрос - у нас перечитывается ВСЯ коллекция в 1.5Gb, делается обычный запрос - у нас перечитывается ВСЯ коллекция в 1.5Gb и так по циклу.
Сумасшедшее ридрайд насилие над стораджем.
Выяснил я это всё сам, не имея раньше дел с монгой в кишках.

Пишу девелоперам про свои находки, они уходят в запой на паузу и возвращаются через сутки🤣с ответом:
"в коллекции XXXX есть поля _id и accountId, которые суть одно и то же, но по accountId нет индекса. у нас появился запрос, который использует второе поле, поэтому сканится вся коллекция".😢

Пилят фикс, и в следующем релиза это катнём.
И да, пока приложение насилует диск монги.
  • 👍 10
  • ❤ 3
  • 🌚 1
More from @makebreakreflect
  1. Sep 25, 2026#пятница Ждём, чо. А вообще да, заебали эти охринительно полезные новости с невероятными д…
  2. Sep 25, 2026#kubernetes - https://laravel-news.com/laravel-health-kubernetes-prometheus Жаль, что тако…
  3. Sep 24, 2026Но стоит взять задачу из смежной области, где общее понимание есть, а глубокой экспертизы…
  4. Sep 23, 2026В удивительнейшее время живём. - https://typesafe.ai/blog/introducing-system-one-models-an…
  5. Sep 22, 2026#aws #elasticache #redis #kubernetes #troubleshooting #devops #sre #longread Ничего не пре…
  6. Sep 18, 2026Вся эта неделя была очень странной. Опус отупел до уровня 3 модели. Фейбл сжигает токены б…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →