Хотспоты сервиса с высоким временем отклика
При включенном углубленном мониторинге процессов Ключ-АСТРОМ анализирует время отклика каждого сервиса, работающей в каждом процессе. Это применимо к Java, .NET, Node.js, PHP, веб-серверу Apache, IIS, NGINX и другим технологиям.
Участки с наибольшим временем отклика указывают, какие действия занимают больше всего времени для конкретной службы. На странице каждой службы в разделе Текущий участок представлен обзор связанных участков с наибольшим временем отклика , включая:
- Наиболее распространенные ошибки, такие как медленное время ответа на запросы, высокая частота сбоев или высокое потребление ресурсов процессора.
- Запросы с высоким потреблением ресурсов. Процент показывает долю запроса в общем времени ответа сервиса. В приведенном ниже примере
85%часть времени ответаJourneyServiceтратится на выполнение запросаfindJourneys.
Для просмотра анализа хотспотов
- Перейдите в раздел Сервисы.
- Выберите серсив, который хотите проанализировать.
- Выполните одно из следующих действий:
- Для анализа наиболее проблемного запроса выберите его в разделе Текущие проблемные запросы, чтобы отобразить подробную информацию о сервисе, отфильтрованную по проблемному запросу.
- Для анализа всех проблемных мест по времени отклика сервиса на странице обзора сервиса выберите один из вариантов: Просмотреть запросы, Просмотреть динамические запросы или Просмотреть запросы ресурсов. Ключ-АСТРОМ отобразит общую информацию о сервисе.
- Выберите пункт Просмотреть проблемные зоны по времени отклика, чтобы перейти на страницу Распределения времени отклика.
На странице распределения времени отклика вы видите среднее время отклика, зафиксированное за анализируемый период. В левой части инфографики, в разделе Распределение, показано, сколько времени приходится на обращения к другим сервисам, обращения к базам данных и выполнение кода. В правой части, в разделе Топ нахождений, перечислены наиболее проблемные места, выявленные Ключ-АСТРОМ. Вы можете выбрать любой из этих пунктов, чтобы просмотреть более подробную информацию.
Запросы в другие сервисы
Выберите Взаимодействие со службами и очередями, чтобы отобразить подробную информацию о том, как эти вызовы влияют на общее время ответа.
Слева вы видите, как часто анализируемый сервис вызывает другие сервисы и в какой степени эти вызовы влияют на время ответа. Справа эта информация представлена более подробно. В приведенном выше примере видно, что большая часть времени приходится на сервис Easytravel Customer Frontend. Выберите имя сервиса, чтобы просмотреть следующий шаг в иерархии. Достигнув самого нижнего уровня (уровня запроса), вы увидите полную информацию о времени ответа для выбранного запроса.
В приведенном выше примере мы видим, что EasytravelWebserver:8079 вызывает URL- адрес /orange.jsf только в 7,46% от общего числа инициируемых запросов easytravel Customer Frontend — ровно один раз каждый раз. Мы видим, что среднее время ответа /orange.jsf составляет 255 ms. Однако, поскольку этот вызов происходит лишь изредка, он вносит вклад только 19 ms в среднее время ответа EasytravelWebserver:8079.
Если вы выберете кнопку со стрелкой в левой части раздела Взаимодействие со службами и очередями, вы сможете снова перемещаться вверх по иерархии.
Запросы к базе данных
Выберите раздел Использование базы данных на инфографике, чтобы получить подробную информацию о запросах к базе данных анализируемой службы и увидеть, как они влияют на время ответа. В верхней части инфографики представлена та же навигация и информация, что и в разделе Взаимодействие со службами и очередями. Ниже вы можете просмотреть все запросы к базе данных.
Выбрав пункт списка в правом верхнем углу, вы можете отсортировать запросы к базе данных по среднему времени выполнения, проценту вызовов, количеству обращений и вкладу. По умолчанию запросы, которые вносят наибольший вклад во время ответа, отображаются вверху списка. Выберите SQL-запрос, чтобы просмотреть значения этих четырех атрибутов.
Видимость на уровне кода
Выберите пункт Исполнение сервиса, чтобы посмотреть, сколько времени сервис потратил на выполнение собственного кода.
Длина полосок отображает время, затраченное на каждую конкретную область. Темно-синий цвет обозначает время работы процессора. Выберите любое имя строки, отображаемое в виде ссылки, чтобы просмотреть соответствующие интерактивные области на уровне методов.
Выберите кнопку Просмотреть наиболее часто используемые методы и отметьте все классы и методы, которые были выполнены для запуска сервиса в разделе Иерархия вызовов. В столбце Образцы трассировки стека показано, сколько раз класс/метод был выполнен для сервиса за выбранный период времени. В столбце Вклад показана доля потребления, которую класс/метод вносит в общее время выполнения. Это позволяет определить, какой класс и/или метод потребляет большую часть времени выполнения, и впоследствии оптимизировать код.
Скачать код
Загрузка кода поддерживается для Java, .NET и Node.js.
Чтобы загрузить код для выполнения,
- Перейдите в раздел Действия и выберите > Исходный код.
- Выберите процесс, с помощью которого вы хотите загрузить код.
- Выберите Загрузить для интересующего вас варианта выполнения.
- Откройте исходный код.
| Java | .NET | Node.js |
|---|---|---|
Необходимо Для преобразования кода в исходный код используйте внешний декомпилятор, например, Bytecode Viewer.
|
Необходимо Для преобразования кода в исходный код используйте внешний декомпилятор, например, dotPeak.
|
Исходный код доступен непосредственно в Ключ-АСТРОМ. |
Автоматические точки доступа
В разделе Топ нахождений инфографики анализа времени отклика перечислены ключевые факторы, влияющие на анализируемый запрос.
Если запрос выполняется медленно, вы увидите основную причину в разделе Основные проблемы. Выберите проблему, чтобы просмотреть более подробную информацию. В этом примере вы можете увидеть, что 226 мс из 639 мс было затрачено на вызов PaymentLogic.DoPay!
Распределение времени ответа
Выберите круговую область Время ответа на инфографике, чтобы открыть диаграмму, показывающую распределение времени ответа всех проанализированных запросов. Это покажет, имеет ли ваш сервис разброс времени ответа или работает равномерно.
Как правило, время ответа веб-сервисов сильно варьируется. Анализ одного запроса часто показывает более однородную картину.









