Как мне анализировать веб-трафик статистически правильным образом? - PullRequest
2 голосов
/ 17 февраля 2010

У меня есть файл с последовательностью отметок времени события, соответствующей времени, когда кто-то посещает веб-сайт:

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

и т. Д. Для нескольких тысяч строк.

Я хотел бы получить представление о том, как веб-хиты распределяются во времени, в течение недели и т. Д. Мне нужно знать, как я должен масштабировать (будущие) веб-серверы, чтобы гарантировать доступность сервиса с заданным числом девятки. В частности, мне нужно дать верхние границы для числа почти одновременных посещений.

Есть ли какие-либо ресурсы, объясняющие, как это сделать? Я свободно владею математикой и статистикой, и я смотрел на теорию очередей, но кажется, что эта теория предполагает, что скорость прибытия не зависит от времени суток, что явно неверно в моем случае. И НЕТ, гистограммы не являются правильным ответом, так как результат сильно зависит от ширины и размещения бина.

Ответы [ 6 ]

2 голосов
/ 18 февраля 2010

Вы всегда можете разместить более гибкую модель в параметре скорости поступления. Например, сделайте скорость поступления функцией времени или поместите в нее модель стиля временного ряда. Все, что имеет смысл для ваших данных. Литература обычно фокусируется на базовой модели, потому что расширения зависят от приложения.

В расширенной модели вы почти наверняка захотите использовать байесовские методы. Вас интересует апостериорное предиктивное распределение объекта «почти одновременные события». В недавней статье в JASA описана практически ваша проблема, примененная к данным колл-центра:

Для быстрого решения не стоит недооценивать силу оценок стиля гистограммы. Это простые непараметрические оценки, и вы можете перекрестно проверять параметры настройки, такие как ширина полосы и размещение. Теоретически это несколько неудовлетворительно, но для реализации потребуется день. Вероятно, доминирует полностью байесовский подход, но при значительных вычислительных затратах.

0 голосов
/ 19 февраля 2010

Я думаю, вы могли бы утверждать, что ваши хиты распределены в соответствии с пуассоновским распределением , где среднее значение и вариация зависят от времени суток.

Чтобы получить представление о пиковой нагрузке, я бы начал с простой диаграммы рассеяния со временем попадания по горизонтальной оси и временем между этим попаданием и следующим попаданием по вертикальной оси.

Это должно дать вам хорошее представление о высоте и продолжительности ваших пиков. Затем вы можете оценить параметры распределения Пуассона для скользящего окна длины, аналогичной этой продолжительности для каждого момента дня. Вроде как скользящая средняя. Область, где среднее значение и дисперсия являются самыми низкими, даст вам хорошую основу для оценки ожидаемой будущей пиковой нагрузки.

0 голосов
/ 18 февраля 2010

Вы правы, большая часть теории предполагает распределение Пуассона попаданий, которого у вас нет, поскольку частота попаданий меняется в зависимости от времени суток. Однако не могли бы вы разделить ваши данные, скажем, на один блок за каждый час дня и предположить, что в течение одного часа распределение попаданий в секунду / минуту / какой-либо единице приблизительно равно пуассоновскому? Возможно, есть более эффективные способы (с теоретической точки зрения), но этот способ имеет то преимущество, что он прост в реализации и прост в объяснении для всех, кто имеет какой-либо статистический опыт.

0 голосов
/ 18 февраля 2010

Можно ли определить или приблизить почти одновременные посещения как те, которые происходят в одну и ту же секунду? Если да, вот как бы я поступил:

  1. Для каждой секунды в данных рассчитывается количество посещений. Это будет включать несколько секунд с 0 посещениями - не исключайте их.
  2. Вероятно, разумно предположить, что число посещений в секунду имеет распределение Пуассона со скоростью, которая меняется в течение дня и, возможно, в течение недели. Так что решите, каковы соответствующие предикторы (время дня, день недели, месяц?) И используйте регрессию Пуассона для моделирования подсчетов. Вы можете использовать сплайны для непрерывных переменных (например, времени суток), я думаю, что есть даже некоторые «циклические» сплайны, которые могут учитывать, что 23:58 близко к 00:02. Или вы можете сократить время на более мелкие дискретные части, скажем, с 10-минутными интервалами. Если вы хотите быть по-настоящему модным, включите автокорреляцию и избыточную дисперсию в модель.
  3. На основе подобранной модели вы можете оценить любой процентиль, какой захотите.

Конечно, это довольно странно статистически, и вы должны знать, что делаете, но я думаю, что это может сработать.

0 голосов
/ 17 февраля 2010

Если вы не хотите использовать гистограмму, не могли бы вы просто построить график плотности ядра?

0 голосов
/ 17 февраля 2010

Что ж, приготовьтесь к целому ряду ответов «что не так с AWStats / Webalizer / Analog-Stats / favour-http-log-stats-viewer-of-the-month» ...

Все они делают гистограммы, но это потому, что они предназначены для того, чтобы помочь получить общее представление о трафике посетителей.

Я рекомендую вам взглянуть на Splunk , чтобы проверить, соответствует ли он вашим требованиям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...