Performance 哪些百分位数指标反映了您的应用程序性能?

Performance 哪些百分位数指标反映了您的应用程序性能?,performance,metrics,percentile,Performance,Metrics,Percentile,我最近被介绍了用于测量应用程序效率不同方面的百分位指标(例如:p50、p90和p99延迟等) 我不知道为什么要使用P50,比如这种指标有点模糊,如果你想衡量你的应用程序的效率,它不能提供很多信息。 我认为这可能是一个广泛的问题,但什么样的百分位数最能反映你的应用程序的效率?为了回答你的问题,我将提供一些关于平均值/平均值的背景信息。 例如,我有几个示例(web请求的响应时间)1,2,1,3,2,2,1,3,2,40 如果我取平均值,那么它是:5.7 这里你会说我的平均响应时间是5.7,这并不代表

我最近被介绍了用于测量应用程序效率不同方面的百分位指标(例如:p50、p90和p99延迟等) 我不知道为什么要使用P50,比如这种指标有点模糊,如果你想衡量你的应用程序的效率,它不能提供很多信息。
我认为这可能是一个广泛的问题,但什么样的百分位数最能反映你的应用程序的效率?

为了回答你的问题,我将提供一些关于平均值/平均值的背景信息。 例如,我有几个示例(web请求的响应时间)1,2,1,3,2,2,1,3,2,40

如果我取平均值,那么它是:5.7

这里你会说我的平均响应时间是5.7,这并不代表真实情况。在这里,您可以看到大多数样本低于3,但由于一个异常值,您的平均值从1.9变为5.7。 平均值的问题是,有时它并不代表实际结果

百分位数帮助我们提供实际情况。这里,如果你取90%,值是3。所以你可以说,我90%的回答都在3以下。 代表真实情况或接近你的实际平均值

我希望你理解为什么使用百分位数

在实践中,通常在性能测量中使用第90、95(大部分)和99百分位,通过去除异常值来找出实际值

对于在哪种情况下使用哪个百分位数,没有直接的答案,因为不同的应用程序、数据建模、可用样本等都会有所不同


实际上,在大多数情况下,第90和95个百分位数用于查看应用程序性能,因为这在大多数情况下为您提供了90%或95%的置信水平。

为了回答您的问题,我将提供一些关于平均值/平均值的背景信息。 例如,我有几个示例(web请求的响应时间)1,2,1,3,2,2,1,3,2,40

如果我取平均值,那么它是:5.7

这里你会说我的平均响应时间是5.7,这并不代表真实情况。在这里,您可以看到大多数样本低于3,但由于一个异常值,您的平均值从1.9变为5.7。 平均值的问题是,有时它并不代表实际结果

百分位数帮助我们提供实际情况。这里,如果你取90%,值是3。所以你可以说,我90%的回答都在3以下。 代表真实情况或接近你的实际平均值

我希望你理解为什么使用百分位数

在实践中,通常在性能测量中使用第90、95(大部分)和99百分位,通过去除异常值来找出实际值

对于在哪种情况下使用哪个百分位数,没有直接的答案,因为不同的应用程序、数据建模、可用样本等都会有所不同


实际上,在大多数情况下,使用第90和95个百分位来查看应用程序性能,因为在大多数情况下,这会为您提供一个90%或95%的置信度。使用哪个百分位取决于您的服务级别目标,因此大多数情况下属于业务目标

假设你正在建立/维护一个成熟的电子商务网站,你有两项服务:1)检索商品记录
goodsRenderingService
2)注册新客户
registeringService

在与您的产品负责人或项目经理或其他人交谈后,您同意不会有太多的客户同时注册,如果注册时间长达5秒,也可以。这个目标可以量化为:
registeringService
对于75%的并发请求,最多需要5秒钟

但是,当客户浏览商品时,情况就不同了——他们不能等待超过1秒的时间才能呈现商品,这是您业务的核心。所以你决定99.9%的时间必须少于1秒。即便如此,如果你有100万客户同时浏览该网站,你仍有可能失去1000名不耐烦的客户(1000000*0.1%)。但是考虑到业务的规模和成本,您的CTO决定可以使用99.9%的百分比

所以简而言之,在没有商业评估的情况下,没有原则规定应该使用哪个百分比。但一般来说,如果您想知道数据是如何分布的,我总是使用25%、50%、75%、99%和标准差。但它与其他因素有关,如业务需求(您不会在电子商务网站和社区图书馆系统中设置相同的百分比和目标)、成本(高百分比的需求通常伴随着指数级的高成本)等


也许它没有完全回答您的问题,但希望它能帮助您。

使用哪个百分比取决于您的服务级别目标,因此大多数情况下都属于业务目标

假设你正在建立/维护一个成熟的电子商务网站,你有两项服务:1)检索商品记录
goodsRenderingService
2)注册新客户
registeringService

在与您的产品负责人或项目经理或其他人交谈后,您同意不会有太多的客户同时注册,如果注册时间长达5秒,也可以。这个目标可以量化为:
registeringService
对于75%的并发请求,最多需要5秒钟

但是,当客户浏览商品时,情况就不同了——他们不能等待超过1秒的时间才能呈现商品,这是您业务的核心。所以你决定99.9%的时间必须少于1秒。即便如此,如果你有100万客户同时浏览该网站,你仍有可能失去1000名不耐烦的客户(1000000*0.1%)。但是考虑到业务的规模和成本