如何衡量滚动窗口的错误预算消耗



我有一个应用程序的SLO,其中95%的服务响应时间必须在滚动的24小时窗口内小于450毫秒。我每60秒取样一次。通常我的";当前服务水平";约为96-97%。如果服务水平下降到95%以下,则我的错误率为>5%,因此燃烧率>1.燃烧率>1意味着我将在24小时内消耗掉所有错误预算。然而,由于这是一个滚动窗口,我每分钟都在计算服务级别、错误率、烧录率等,即使我以94%的速度运行,这也只是一个";恒定的94%";我的错误预算每60秒就会得到补充。

我正在努力准确地理解和衡量预算消耗情况。

您的错误预算是在滚动窗口中定义的,与SLO相同。

SLO(服务级别目标(包括SLI(服务级别指示(、阈值(您的阈值为95%(和评估期(以前的28天很常见,您的阈值规定为24小时(。你的SLI是你的"好的定义",你说它是"在<450毫秒。由于您已将SLO阈值定义为95%,因此在相同的后续评估期内,此服务的错误预算为5%(1-.95(。

在基于请求的系统中,通过观察成功的样本数除以总样本数,您将获得良好的信号。类似地,当观察服务的响应时,您将从观察成功的响应计数除以总有效响应计数中获得良好的信号。两者都提供了统计上的音量加权比率。当我们说"计数"时,它的字面意思是在评估期间,在滚动窗口中观察到的计数。正如你所说,错误预算得到了补充。

时间加权计算似乎是这里的问题;美好的一分钟";在分钟数相当的情况下有效。但是请求是突发性的,例如,时间加权导致前99分钟(每个请求有1个成功(没有失败((对当前分钟(1000个失败(没有成功((的贡献相等。这是这100分钟的时间加权99%的SLI和客户实际体验的音量加权9%之间的差异。

最新更新