首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对性能度量的分布进行建模

对性能度量的分布进行建模
EN

Stack Overflow用户
提问于 2009-12-08 22:45:24
回答 6查看 807关注 0票数 18

您将如何对重复的真实性能测量的分布进行数学建模--“真实生活”意味着您不只是遍历所讨论的代码,而只是在典型用户场景中运行的大型应用程序中的一小段代码?

我的经验表明,通常在平均执行时间附近有一个峰值,可以用高斯分布对其进行充分建模。此外,还有一个包含异常值的“长尾”--通常是平均时间的倍数。(考虑到导致首次执行处罚的因素,这种行为是可以理解的)。

我的目标是对合理反映这一点的聚合值进行建模,并且可以从聚合值计算(就像高斯分布一样,根据N计算µ和sigma,值的和和平方和)。我的目标是建立合理反映这一点的聚合值模型,并且可以从聚合值计算(如)。换句话说,重复的次数是无限的,但内存和计算需求应该最小化。

正态高斯分布不能对长尾进行适当的建模,即使只有很小百分比的异常值,也会有很强的平均值偏差。

我正在寻找的想法,特别是如果这之前已经尝试/分析过的话。我已经检查了各种分布模型,我认为我可以找到一些东西,但我的统计数据生疏了,我可能最终会得到一个过度夸大的解决方案。哦,一个完整的收缩包装的解决方案也很好;)

其他方面/想法:有时你会得到“两个驼峰”分布,这在我的场景中是可以接受的,只有一个mu/sigma可以涵盖这两个方面/想法,但理想情况下应该是单独标识的。

据此推断,另一种方法是“浮动概率密度计算”,它只使用有限的缓冲区,并自动调整到范围(由于长尾,箱子可能不是均匀分布的)-没有发现任何东西,但通过一些关于分布的假设,原则上应该是可能的。

为什么选择(因为有人问过它)-

对于一个复杂的过程,我们需要做出这样的保证:“只有0.1%的运行超过了3秒的限制,平均处理时间是2.8秒”。孤立代码的性能可能与正常的运行时环境有很大的不同,该运行时环境涉及不同级别的磁盘和网络访问、后台服务、一天内发生的预定事件等。

这可以通过积累所有数据来简单地解决。但是,要在生产中积累这些数据,需要限制生成的数据。对于孤立的代码片段的分析,高斯偏差加上第一次运行惩罚是可以的。这不再适用于上面找到的发行版。

编辑我已经得到了非常好的答案(最后--也许--需要一些时间来解决这个问题)。我正在发起一项赏金活动,以寻求更多的投入/想法。

EN

Stack Overflow用户

发布于 2012-07-13 19:50:31

除了已经给出的答案之外,还可以考虑Empirical Distributions。我有使用经验分布进行多个分布式系统性能分析的成功经验。这个想法非常简单。您需要构建性能度量的直方图。测量应该以给定的精度离散化。当你有直方图的时候,你可以做一些有用的事情:

  • 计算任何给定值的概率(您仅受精度的限制);
  • 根据分布为性能响应时间序列构建PDF和CDF函数。这对于性能建模非常有用。
票数 2
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1867426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档