我们有一个可用的 REST API。对于此 API 提供的每个端点,我们都有一个基于内部测试的定义的 SLA。New Relic 提供了基于每个应用程序定义 Apdex T 分数的选项。考虑如下场景:
- 端点 A:SLA 为 200ms
- 端点 B:SLA 为 800ms
平均 SLA:500 毫秒
案例 1:考虑 Apdex 阈值的平均 SLA 这种方法的问题是,即使我的端点 A 预计在 200 毫秒内完成,即使端点花费了 SLA 中定义的时间的两倍,它也不会被标记,因为它仍然会低于平均值。端点 B 的情况反之亦然,即使它低于 800 毫秒也会被标记。
案例 2:将所有端点的最大 SLA(800ms) 视为 Apdex T 值 再次出现问题,这里将与端点 A 相关。即使需要实际的 4 倍,也不会标记来自该端点的任何响应延迟预计时间。
那么,在这种情况下,我们如何得出 Apdex 阈值?我浏览了 New relic 的以下文章:LINK。当我们将服务视为一个整体时,这是有道理的,但当我们查看每个端点时则不然。