Spring Boot Actuator /health端点响应缓慢?

4

我第一次尝试使用执行器依赖项,我将其配置为 opt-in

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

当我本地调用 /actuator/health 接口时,响应时间大约为1.4秒。请记住,这是来自服务器同一台机器的本地调用。

如果我创建一个普通的端点并返回一个空响应,请求只需要几毫秒。

这个响应时间正常吗?我能使其更快吗?

1个回答

1

原始答案:https://dev59.com/tr3pa4cB1Zd3GeqPVwKL#63666118

基本上,健康状况端点是以这样的方式实现的:它包含了一个实现 HealthIndicator 接口的所有 Spring bean 列表。每个健康指标负责提供有关一个子系统的健康信息(例如:磁盘、postgres、mongo 等子系统),Spring Boot 提供了一些预定义的 HealthIndicators。因此,当调用健康状况端点时,它会遍历此列表并获取有关每个子系统的信息,然后构建答案。因此,您可以在相关的健康指标中设置断点(假设您知道哪些子系统已经被检查),并查看发生了什么。如果您正在寻找 HTTP 入口点 - 当您调用 http:///actuator/health 时调用的代码(根据您的设置可能会有所不同,但您明白了)可以在此处找到。另一种方法是禁用“可疑”的健康检查并通过排除法找到缓慢的健康检查。例如,如果您有一个 elastricsearch 并希望禁用它,请在 application.properties 中使用:management.health.elasticsearch.enabled = false

4
如果你想引用别人的答案,请注明出处,不要直接复制粘贴他人的回答。以下是原始答案链接:https://dev59.com/tr3pa4cB1Zd3GeqPVwKL#63666118 - JavierSA

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接