我应该如何以统计上正确的方式分析网络流量?

时间:2010-02-17 09:10:50

标签: math statistics webserver

我的文件中包含一系列事件时间戳,这些事件时间戳与某人访问网站的时间相对应:

02.02.2010 09:00:00
02.02.2010 09:00:00
02.02.2010 09:00:00
02.02.2010 09:00:01
02.02.2010 09:00:03
02.02.2010 09:00:05
02.02.2010 09:00:06
02.02.2010 09:00:06
02.02.2010 09:00:09
02.02.2010 09:00:11
02.02.2010 09:00:11
02.02.2010 09:00:11

等,数千行。

我想知道网页点击是如何随着时间的推移,一周内分发等等。我需要知道如何扩展(未来)Web服务器,以保证给定数量的服务可用性九。特别是我需要给几乎同时访问的数量上限。

是否有任何资源可以解释如何做到这一点?我能说流利的数学和统计学,而且我看过排队论,但似乎这个理论认为到达率与时间无关,这在我的案例中显然是错误的。不,直方图不是正确的答案,因为结果很大程度上取决于箱宽和位置。

6 个答案:

答案 0 :(得分:2)

您始终可以在到达率参数上放置更灵活的模型。例如,使到达率成为时间的函数,或者在其上放置一些时间序列样式模型。无论什么对您的数据有意义。文献通常侧重于核心模型,因为扩展是特定于应用程序的。

在扩展模型中,您几乎肯定会想要使用贝叶斯方法。您对对象“几乎同时发生的事件”的后验预测分布感兴趣。 JASA最近的一篇论文描述了几乎所有适用于呼叫中心数据的问题:

要快速解决方案,请不要低估直方图样式估算器的功能。它们是简单的非参数估计器,您可以交叉验证调整参数,如binwidth和placement。从理论上讲,这有点令人不满意,但实施起来需要一天时间。完全贝叶斯方法可能会占主导地位,但计算成本很高。

答案 1 :(得分:0)

那么,请为AWStats / Webalizer / Analog-Stats / favorite-http-log-stats-viewer-of-the-month'回复中的大部分内容做好准备......

他们都做直方图,但这是因为它们旨在帮助提供广泛的访客流量图片。

我建议您查看Splunk,看看它是否符合您的要求。

答案 2 :(得分:0)

如果你不想使用直方图,你能不能只绘制核心密度?

答案 3 :(得分:0)

几乎可以将并发访问定义或近似为在同一秒内发生的访问?如果是,我将继续这样做:

  1. 对于数据中的每一秒计算访问次数。这将包含0次访问的几秒钟 - 不要排除它们。
  2. 可以合理地假设每秒的访问次数具有泊松分布,其速率在一天中变化,并且可能在一周内变化。因此,确定相关预测因子(一天中的时间,一周中的哪一天,一月?),并使用泊松回归来计算计数。你可以使用样条函数来表示连续变量(例如,时间),我相信甚至有一些“循环”样条可以考虑到晚上11:58接近00:02 AM。或者你可以把时间缩短成更小的片段,比如间隔10分钟。如果你想要真正的花哨,在模型中加入自相关和过度离散。
  3. 根据拟合的模型,您可以估算出您想要的任何百分位数。
  4. 当然,这在统计上是非常奇特的,你必须知道你在做什么,但我认为它可行。

答案 4 :(得分:0)

你是对的,大多数理论都假设Poisson distribution次点击,你没有,因为点击率随着时间的变化而变化。但是,你不能把你的数据分成例如一天中每小时的一个块,并假设在一小时内每秒/每分钟/任何单位的命中分布大约是泊松?可能有更好的方法(从理论角度来看),但这种方式的优点是易于实施,并且易于向具有任何统计背景的任何人解释。

答案 5 :(得分:0)

我认为您可以争辩说,您的点击是根据poisson distribution分配的,其中平均值和变化随时间变化而变化。

为了更好地了解峰值负载,我首先看一个散点图,其中水平轴上的命中时间和垂直轴上的下一次命中之间的时间。

这可以让您对峰的高度和持续时间有所了解。然后你可以estimate the parameters泊松分布的滑动窗口的长度类似于一天中每个时刻的持续时间。有点像移动平均线。平均值和方差最小的区域将为估计预期的未来峰值负荷提供良好的基础。