如何将网页浏览与内存峰值相关联?

时间:2010-02-03 16:42:45

标签: algorithm optimization memory memory-leaks statistics

我在使用应用程序时遇到了一些内存问题,但要确切地弄清楚它的确切位置有点困难。我有两组数据:

浏览量

  • 请求的页面
  • 请求页面的时间

内存使用

  • 正在使用的内存量
  • 记录此记忆的时间

我想确切地看到哪些网页浏览量与高内存使用率相关联。我的猜测是,我将进行某种类型的T测试,以确定哪些综合浏览量与增加的内存使用量相关。但是,对于要进行什么样的T检验,我有点不确定。有人至少可以指出我正确的方向吗?

4 个答案:

答案 0 :(得分:3)

杰森,

你问好的统计问题。考虑用作随机变量的内存量。第一步是看看这个r.v.的分布。它可能不适合任何已知的分布,但不要让它阻止我们。一种简单的方法是采用最高的内存使用率(前5-10%)并查看这些页面浏览量(或者请求它们的时间)是否与其余的页面浏览量不同。我认为您需要进行一些非参数测试,将低内存样本的浏览量比例与高内存样本中的综合浏览量比例进行比较。希望这会有所帮助。

答案 1 :(得分:3)

我建议用两列构建数据集。第一个是分布的最高内存使用时间中每个页面出现的比例,第二个是内存分布的其余值的那些(相同)页面的比例。

然后你必须进行配对测试以检查差异的中位数(高 - 休息)是否小于或等于零(H0),而另一个假设是差异的中位数大于零(H1) )。我建议使用非参数测试Wilcoxon Signed Ranks Test,它是成对样本的Mann - Whitney Test的变体。它还考虑了每对中差异的大小,这是其他测试忽略的(例如符号测试)。

请记住,关系(零差异)在非参数方法的推导中存在许多问题,应该避免。处理关系的首选方法是在数据中添加一点“噪音”。也就是说,通过添加一个不会影响差异排名的足够小的随机变量来修改绑定值后完成测试

我希望测试结果和绘制差异分布图可以让您深入了解问题所在。

这是Wilcoxon Signed Ranks Test

R language的实现

答案 2 :(得分:1)

你提出的肯定是一个有趣的统计问题,但我可以建议用一个好的电子表格来形成图形方法吗?

为每个页面分配一个唯一的编号,并制作页面#与内存使用情况的散点图。你应该得到一堆垂直的标记线。希望罪魁祸首显而易见。

如果有太多数据点使线条变为实线,那么您可以在页码中添加少量噪点以扩大线条。如果请求是重叠的,那么你可能不得不尝试一些技巧,比如将内存除以并发请求的数量,但是即使有很多噪音,你的眼睛也应该能够挑出罪犯。

答案 3 :(得分:1)

这是另一个想法: 如果您能够通过时间戳值加入网页浏览量和内存使用率,则可以形成如下表格

第A页|第B页|第C页|第D页|第E页| .... | Memory_use

每个页面列的值可能是[0,1]位,表示页面是否被请求,或者页面数量,具体取决于您的数据。在Memory_use列中,您可以拥有相关的内存负载比例,或以MB为单位的计数。通过这种方式,可以将Memory_use视为因变量,将页面视为解释变量。因此,您可以将适当的(取决于因变量的形式)广义线性模型拟合到此数据集。此分析的结果将为您提供以下

的见解

- 哪些页面会显着影响内存使用的价值

- 每个页面对负载的贡献程度(通过模型中的系数)

- 其他因素(未测量)在内存负载(过度离散)中发挥重要作用的可能性,最坏的情况是所有预测变量都可能变得不重要。