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