Spring Boot Actuator /health端点响应慢?

pre*_*oid 5 spring-boot spring-boot-actuator

我第一次尝试执行器依赖项,我将其配置为选择加入

management.endpoints.enabled-by-default=false
management.endpoint.info.enabled=true
management.endpoint.health.enabled=true
Run Code Online (Sandbox Code Playgroud)

当我拨打/actuator/health本地电话时,大约需要 1.4 秒才能响应。请记住,这是来自服务器同一台计算机的本地调用。

如果我创建一个以空响应进行回复的常规端点,则该请求将只需要几毫秒。

这是正常的吗?我可以让它回复得更快吗?

小智 1

原始答案:/sf/answers/4456628291/

基本上,健康端点的实现方式是它包含实现 HealthIndicator 接口的所有 Spring bean 的列表。

每个健康指示器负责提供有关一个子系统的健康信息(此类子系统的示例有:disk、postgres、mongo 等),spring boot 附带了一些预定义的 HealthIndicators。

这样,当调用运行状况端点时,它会迭代此列表并获取有关每个子系统的信息,然后构造答案。

因此,您可以在相关运行状况指标中放置一个断点(假设您知道检查了哪些子系统)并查看会发生什么。

如果您正在寻找 HTTP 入口点 - 当您调用 http:///actuator/health 时调用的代码(可能会根据您的设置而有所不同,但您明白了)`,可以在此处找到

我想到的另一种方法是禁用“可疑”健康检查并通过消除找到缓慢的检查。

例如,如果您有 elastricsearch 并且想要禁用它,请在 application.properties 中使用:

management.health.elasticsearch.enabled = false

  • 除非您引用其他人的答案,否则不应复制并粘贴它。这是原始答案:/sf/answers/4456628291/ (5认同)