监控指标中的 P90、P95、P99,到底是个啥?

Linux安全运维 (88) 2025-05-19 11:11:08

在监控系统中,P90、P95、P99 是常用的百分数指标,用来衡量系统的响应时间、延迟等性能数据的分布情况,它会告诉你:“有多少比例的请求比某个值快?”

一、什么是潜伏期

API 的延迟时间是指 API 响应请求所需的时间。它衡量的是向 API 发出请求和收到响应之间的延迟。延迟通常以毫秒(ms)或秒(s)来衡量。
监控指标中的 P90、P95、P99,到底是个啥?_https://www.tiejiang.org_Linux安全运维_第1张

较低的延迟表示 API 响应速度较快,而较高的延迟表示响应时间较慢。

监控和优化延迟对于确保依赖 API 的应用程序的良好性能和用户体验至关重要。

二、什么是 SLA(服务水平协议)?

SLA 就像服务提供商与客户之前的承诺。

例如,你为互联网服务付费,SLA 可能会说网络 99% 时间都能正常运行,如果不能正常运行,他们会在一定时间内解决。

三、什么是 P90、P95、P99

假设我们有一个 API 服务,它连接到不同的数据库和上游 API/第三方服务,并在特定产品中执行一些功能操作。

对于每个 API,我们都需要提供延迟,以便 API 的消费者知道这个特定的 API 将需要特定的时间来相应。
监控指标中的 P90、P95、P99,到底是个啥?_https://www.tiejiang.org_Linux安全运维_第2张
在 API 服务上下文中,P90、P95 和 P99 指的是不同级别的性能和响应时间。
监控指标中的 P90、P95、P99,到底是个啥?_https://www.tiejiang.org_Linux安全运维_第3张

P99 表示 API 99% 的响应时间
P95 表示 API 95% 的响应时间
P90 表示 API 90% 的响应时间

举个例子,假设有 100 个请求的延迟数据(单位:毫秒),按从小到大排序:

[1, 2, 3, ..., 50, ..., 90, 95, 100, 200, 500] 
P50(中位数) = 第 50 个请求的延迟(50ms)→ 50% 的请求 ≤ 50ms。
P90 = 第 90 个请求的延迟(90ms)→ 90% 的请求 ≤ 90ms。
P99 = 第 99 个请求的延迟(200ms)→ 99% 的请求 ≤ 200ms。

四、平均和最大延迟

平均延迟就是系统的平均响应时间。计算方法是将向系统发出请求的所有响应时间相加,然后用总时间除以请求数。因此,如果把所有的响应时间排在一起,平均延迟就能让你了解系统响应所需的典型或平均时间。

假设您正在测量网站为不同用户加载所需的时间。平均延迟的计算方式如下:假设您有 5 个用户加载网站所用时间的数据:2 秒、3 秒、4 秒、5 秒和 6 秒。

要找到平均延迟:

将所有响应时间加起来:2 + 3 + 4 + 5 + 6 = 20。
将总数除以用户数(在本例中为 5):20 ÷ 5 = 4。

因此,此示例的平均延迟为 4 秒。这意味着,网站平均需要 4 秒才能为这些用户加载。

最大延迟是系统响应请求所需的最长时间。

例如,假设您正在测量单击播放按钮后视频开始播放所需的时间。如果大多数用户的视频在几秒钟内开始播放,但有一位用户在视频开始播放前经历了 20 秒的延迟,那么这种情况下的最大延迟将是 20 秒。它代表了所有用户体验中最长的等待时间。

THE END

Leave a Reply

下一篇

已是最新文章