如何确定负载均衡器的合理健康检查超时?
我的应用程序未通过负载均衡器健康检查。我使用的是 5 秒的默认健康检查超时,但我注意到,当应用程序的 CPU 利用率达到峰值约 30% 时(持续 2-4 小时),CloudWatch 上的平均延迟图会跳升至约 50 秒。内存利用率和 IOP 都很低且稳定。30% 的利用率是否足以预期健康检查响应时间超过 5 秒?如果是这样,是否有确定健康检查超时的标准做法?
答案1
你的问题的答案一定很模糊。问题的答案是如何确定正确的健康检查超时“?”与回答问题“对于我的应用程序来说,什么样的延迟才算是健康的?“”。
一般指南可解释如下:
确定应用程序可接受的延迟时间。对于您的情况,我们可以假设 50 秒仍可接受。我认为这非常不正常,但由于我不了解您的应用程序,所以我正在以此为基础进行研究。
首先将超时时间设置为稍长一些的值,比如说 55 秒。
使用与生产负载类似的负载测试您的应用程序,看看它是否适合您。
根据需要对您的应用程序和健康检查进行调整,重复直到您对结果满意,然后投入生产。
从 1 重新开始。
考虑一下你关于 CPU 利用率的第二个问题:这取决于你的应用程序。运行测试,运行负载测试,找到瓶颈,消除瓶颈。