Полгода мы думали что виноват трафик
Запустили новую фичу — всё работало. Через месяц база данных начала греться. Решили что растёт трафик. Добавили индексы. Помогло ненадолго.
Через три месяца — снова. Докупили серверов. Снова помогло ненадолго.
Через полгода один джун смотрел логи и случайно заметил: один эндпоинт делал 150+ запросов на каждый запрос пользователя.
N+1 проблема. ORM грузил связанные данные по одному для каждого элемента в списке. Фикс — один include в запрос. Нагрузка на базу упала на 80% за час.
Полгода и дополнительных серверов можно было избежать одной строкой кода.
Что теперь: каждый новый эндпоинт проходит через логирование запросов в dev-окружении. Если больше 5 запросов на один HTTP вызов — стоп, разбираемся.
А у вас были ситуации когда простая причина пряталась за месяцами симптомов?