首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >像数据库性能这样的东西是否应该包含在健康检查中?

像数据库性能这样的东西是否应该包含在健康检查中?
EN

Server Fault用户
提问于 2018-02-28 16:50:47
回答 1查看 417关注 0票数 0

我管理一个webservice,对于我的公司来说,检测和通知是否有任何服务被关闭是非常重要的,而且如果它所做的任何操作都需要太长时间来响应。到目前为止,有一个独立的web应用程序(包括前端和后端),每15分钟向这些端点请求随机操作,但是我发现它很复杂,因为它需要维护整个web应用程序,而我知道很多免费的web服务应该能够完成这项工作。

我已经设置了AWS健康检查来替换轮询set应用程序,并且非常适合正常运行时间部分,现在我的问题与响应时间部分一起出现了。

所有这些API健康检查服务似乎都为不太复杂的请求做好了准备,因此,API应该响应为健康检查服务提供“状态”端点,并将数据库延迟之类的"OK“内容包括进来,或者应该是执行复杂请求的"healthchecker”吗?哪种方法更正确?

谢谢!

EN

回答 1

Server Fault用户

回答已采纳

发布于 2018-02-28 17:31:25

您可能不应该通过应用程序的健康检查路径来监视数据库性能--可能会发生一些危险的情况。假设您在AWS中使用ASG,并使用LB健康检查来确定ASG是否应该旋转机器。如果开始使用数据库争用(与应用程序无关),则ASG将开始删除节点。因此,您不仅会有一个性能不佳的数据库,而且您还将有一个耗尽的ASG。

通常情况下,在健康的范围之外,应该对绩效进行监控。我们大量使用statsd,并将所有的度量、应用程序和数据库都注入其中,这样我们就可以在此基础上绘制图表并发出警报。

还请记住,当您扩展时,您的健康检查速度也会扩展--我们有一些服务,每秒钟接收数千个健康检查请求,如果每个服务执行一个合成的昂贵查询,我们的数据层就会脱机。

当您添加缓存层时,逻辑也变得更加复杂--如果数据库是健康的,但是KV缓存不是健康的,那么健康检查端点应该返回什么呢?

总的来说,虽然端到端监视对于有效的监视策略至关重要,但我强烈建议对流入数据库的现有查询度量进行带外监视--这些指标代表实际用户性能,并将为您的应用程序的实际运行情况提供一个可量化的度量标准。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/899357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档