扩展-点赞系统笔记-理解分位值的含义

亿级流量点赞系统教程中系统可观测控制面板中配置分位值,看教程中的解释不是很理解,在学习一下。

image.png

分位值理解

分位值(Quantile)是一种统计学概念,用于描述数据分布的特征。它将一组数据按照从小到大的顺序排列,并将其分成若干等份,每个等份的边界值即为分位值。在性能分析中,分位值常用来评估系统的响应时间、延迟等指标,特别是当数据集中存在异常值或极端值时,分位值能更准确地反映大多数请求的真实情况。

以教程中提到的90分位值(P90)为例,假设我们有一段时间内收集了100个请求的响应时间数据,我们将这些响应时间从小到大排序。排在第90位的响应时间就是这组数据的90分位值(P90)。这意味着在这100个请求中,有90%的请求响应时间小于或等于这个值,只有10%的请求响应时间大于这个值。

具体来说,如果这100个请求的响应时间分别为:

[ t_1, t_2, ..., t_100]

,且已经按从小到大的顺序排列,那么P90就是t_90。

例如,假设这100个请求的响应时间(单位:毫秒)如下:

[ 50, 60, 70, ..., 140, 150, 160, 170, 180, 190, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1500 ]

其中前90个请求的响应时间都在200毫秒以内,而最后10个请求的响应时间则显著增加。在这种情况下,P90将是200毫秒,表示90%的请求响应时间不超过200毫秒。这样,即使有少数极慢的请求(如1500毫秒),也不会对整体性能评估产生过大影响。

通过使用分位值,可以更好地理解系统在大部分情况下的表现,而不是被少数异常值所误导。 常见的分位值包括P50(中位数)、P95和P99等,它们分别表示50%、95%和99%的请求响应时间低于该值。

分位值实战

找张图理解下:

image.png

图中百分位的理解

P50(中位数): 这是数据的中位数值。一半的数据点低于这个值,另一半高于它。图中,P50的值为40毫秒。这意味着50%的请求响应时间不超过40毫秒。 P75: 表示第75百分位。75%的数据点低于这个值。这里P75的值为120毫秒,表示75%的请求响应时间不超过120毫秒。 P90: 表示第90百分位。90%的数据点低于这个值。P90的值为300毫秒,意味着90%的请求响应时间不超过300毫秒。 P95: 表示第95百分位。95%的数据点低于这个值。P95的值为13,200毫秒,这表明95%的请求响应时间不超过13,200毫秒。这个值显著高于之前的百分位值,说明有少数请求的响应时间非常长。 P99: 表示第99百分位。99%的数据点低于这个值。P99的值为28,150毫秒,意味着99%的请求响应时间不超过28,150毫秒。这个值更高,表明极少数请求经历了极其漫长的响应时间。

观察

图中显示了性能随时间的变化,P95和P99值在某些时刻显著上升。这可能表明系统在这些时间段内负载较高、存在系统问题或其他因素导致延迟。 P90与P95/P99值之间的巨大差异表明,虽然大多数请求表现良好(响应时间在300毫秒以内),但一小部分请求经历了更长的延迟,这可能是需要关注的问题。

影响

对于用户体验至关重要的应用,改善P95和P99值可以显著提升整体满意度,因为它们代表用户可能遇到的最差情况。 随时间监控和分析这些百分位值有助于识别趋势、潜在瓶颈和系统性能优化的领域。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP