Spring Boot Actuator / медленный отклик конечной точки работоспособности?

В первый раз, когда я пробую зависимость от привода, я настроил его на подписку

management.endpoints.enabled-by-default=false
management.endpoint.info.enabled=true
management.endpoint.health.enabled=true

Когда я вызываю /actuator/health локально, ответ занимает около 1,4 секунды. Имейте в виду, что это локальный вызов с той же машины, что и сервер.

Если я создам обычную конечную точку, которая отвечает пустым ответом, запрос займет всего пару миллисекунд.

Это нормально? Могу ли я заставить его ответить быстрее?


person prettyvoid    schedule 15.04.2020    source источник


Ответы (1)


В основном конечная точка работоспособности реализована таким образом, что она содержит список всех компонентов Spring, реализующих интерфейс HealthIndicator.

Каждый индикатор работоспособности отвечает за предоставление информации о работоспособности одной подсистемы (примерами такой подсистемы являются: disk, postgres, mongo и т. Д.), Весенняя загрузка поставляется с некоторыми предопределенными HealthIndicators.

Таким образом, когда вызывается конечная точка работоспособности, она выполняет итерацию по этому списку и получает информацию о каждой подсистеме, а затем создает ответ.

Следовательно, вы можете поместить точку останова в соответствующие индикаторы работоспособности (при условии, что вы знаете, какие подсистемы проверяются) и посмотреть, что произойдет.

Если вы ищете точку входа HTTP - код, который вызывается при вызове http: /// actator / health (может варьироваться в зависимости от ваших настроек, но вы поняли идею) `, его можно найти здесь

Еще один подход, который приходит на ум, - это отключить подозрительную проверку работоспособности и найти медленную путем исключения.

Например, если у вас есть elastricsearch и вы хотите его отключить, используйте в application.properties:

management.health.elasticsearch.enabled = false
person Mangesh Gaikwad    schedule 20.11.2020
comment
Вы не должны копировать и вставлять ответ другого человека, если вы на него не ссылаетесь. Это исходный ответ от: stackoverflow.com/a/63666118/1861769 - person JavierSA; 16.04.2021