Выбор ответа Middle Нагрузочное тестирование обновлено

Где искать узкое место

Вопрос

При росте нагрузки время ответа растёт, а CPU серверов приложения загружен на 30%. Что проверить в первую очередь?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Зависимости и общие ресурсы: базу, пул соединений, блокировки, внешние вызовы. Если приложение не загружено, а ответы медленные, запросы чего-то ждут: свободного соединения из пула к базе, блокировок, медленного запроса, внешнего API, свободного потока.

Варианты ответа

  1. Зависимости и общие ресурсы: базу, пул соединений, блокировки, внешние вызовыправильный ответ
  2. Добавить серверов приложения, чтобы распределить запросы и снизить очередь
  3. Ничего: при 30% CPU узкого места нет, рост времени это погрешность генератора
  4. Уменьшить уровень логирования, потому что запись логов блокирует потоки

Разбор

Если приложение не загружено, а ответы медленные, запросы чего-то ждут: свободного соединения из пула к базе, блокировок, медленного запроса, внешнего API, свободного потока. Добавление серверов не поможет, а иногда ухудшит (больше соединений к той же базе). Логирование редко бывает главной причиной. Поэтому нагрузку смотрят вместе с мониторингом всех компонентов, а не только по отчёту генератора.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме