Разделите задержку на ожидание пула, установление соединения, сеть, выполнение SQL и обработку результата. Сопоставьте тайминги приложения и базы по одному запросу.
Как вы будете расследовать медленный запрос, если проблема находится где-то между контейнером приложения и базой данных?
Разделите задержку на ожидание пула, установление соединения, сеть, выполнение SQL и обработку результата. Сопоставьте тайминги приложения и базы по одному запросу.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Разделите задержку на ожидание пула, установление соединения, сеть, выполнение SQL и обработку результата. Сопоставьте тайминги приложения и базы по одному запросу.
Начните с трассировки проблемного обращения и сравнения с нормальным. Проверьте очередь соединений, DNS, TCP/TLS, потери и повторные передачи, затем блокировки, дисковое ожидание и план SQL. Низкий CPU не исключает перегрузку: запрос может ждать lock или I/O. Замерьте также передачу большого результата и сериализацию. Изолированные проверки выполняйте из того же сетевого окружения, не записывая секреты и пользовательские данные в логи.