Как соотносятся различные показатели посетителей? - PullRequest
1 голос
/ 13 октября 2009

Гипотетически, говорят, говорят, что кто-то говорит вам ожидать X (например, 100 000 или около того) количества уникальных посетителей в день в результате успешного маркетинга.

Как это переводится в пиковые запросы / секунду? Пик одновременных запросов?

Очевидно, что это зависит от многих факторов, таких как типичное количество страниц, запрашиваемых за сеанс пользователя или время загрузки типовой страницы, или многое другое. Это другие переменные Y, Z, V и т. Д.

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

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

Ответы [ 3 ]

4 голосов
/ 13 октября 2009

Редактировать : (после указания на то, что у нас практически нет предварительной статистики по трафику)
Поэтому мы можем забыть об основной части плана, изложенного ниже, и непосредственно попадает в часть «Выполнить некоторые оценки» . Проблема в том, что нам нужно будет заполнить параметры из модели, используя образованные догадки (или простые дикие догадки). Ниже приведена простая модель, для которой вы можете настроить параметры в зависимости от вашего понимания ситуации.

Модель

Допущения :
а) Распределение запросов страниц следует кривой нормального распределения .
b) Учитывая короткий период во время пикового трафика , скажем, 30 минут, число запросов можно считать равномерно распределенным .
Это может быть [несколько] неверно: например, у нас может быть двойная кривая, если рекламная кампания нацелена на несколько географических регионов, например, на рынки США и Азии. Также кривая может следовать другому распределению. Эти предположения, однако, хороши по следующим причинам:

  • было бы ошибаться, если вообще вообще, на "пессимистической стороне", то есть переоценке пиковых значений трафика. Этот «пессимистичный» прогноз может быть в дальнейшем принят путем использования немного меньшего значения стандартного отклонения. (Мы предлагаем использовать от 2 до 3 часов, что позволило бы разместить 68% и 95% трафика в течение 4 и 8 часов (2 ч. Стандартное отклонение) и 6 и 12 часов (3 ч. Стандартное отклонение) соответственно.
  • это делает для простых расчетов; -)
  • ожидается, что он в целом соответствует реальности.

Параметры

  • V = ожидаемое количество отдельных посетителей за 24-часовой период
  • Ppv = среднее количество запросов страниц, связанных с данным сеансом посетителя. (вы можете рассмотреть возможность использования формулы дважды, один для «статического» типа ответов, а другой для динамических ответов, т.е. когда приложение тратит время на создание ответа для данного пользователя / контекста)
  • sig = стандартное отклонение в минутах
  • R = максимальное количество запросов в минуту.

Формула :

   R = (V * Ppv * 0.0796)/(2 * sig / 10)

Это связано с тем, что при нормальном распределении и согласно таблице z-показателей примерно 3,98% выборок находятся в пределах 1/10 от стандартного отклонения, на одной или другой стороне от среднего значения (самого пика), поэтому получают почти 8 процентов выборок в пределах одной десятой части стандартного отклонения на каждой стороне, и при условии, что Относительно равномерное распределение за этот период, мы просто делим на количество минут.

Пример : V = 75 000 Ppv = 12 и sig = 150 минут (т. Е. Предполагается, что 68% трафика будет приходиться на 5 часов, 95% на 10 часов, 5% на остальные 14 часов день). R = 2 388 запросов в минуту, то есть 40 запросов в секунду. Довольно тяжелый, но «выполнимый» (если приложение не требует 15 секунд на запрос ...)

Редактировать (декабрь 2012 г.)
: Я добавляю сюда «краткое изложение» модели, предложенной выше, как указано в комментариях full.stack.ex.
В этой модели мы предполагаем, что большинство людей посещают нашу систему, скажем, в полдень. Это пиковое время. Другие прыгают вперед или отстают, чем дальше, тем меньше; Никто не в полночь. Мы выбрали кривую колокольчика, которая разумно покрывает все запросы в течение 24-часового периода: примерно с 4 сигмами слева и 4 справа, в длинном хвосте не остается ничего значительного. Чтобы смоделировать самый пик, мы вырезали узкую полоску около полудня и посчитали там запросы.

Примечательно, что на практике эта модель имеет тенденцию переоценивать пиковый трафик и может оказаться более полезной при оценке сценария «наихудшего случая», а не более вероятных моделей трафика. Предварительные предложения по улучшению оценки:

  • для расширения параметра sig (чтобы признать, что эффективный период трафика с относительно высоким трафиком больше)
  • , чтобы уменьшить общее количество посещений за рассматриваемый период, то есть уменьшить параметр V, скажем, на 20% (чтобы признать, что примерно столько посещений происходит вне любого пикового времени)
  • использовать другой дистрибутив, такой как, скажем, пуассоновский или некоторый биномиальный.
  • чтобы учесть, что каждый день существует ряд пиков и что кривая трафика фактически является суммой нескольких нормальных (или других распределительных) функций с аналогичным разбросом, но с отчетливым пиком. Предполагая, что такие пики находятся достаточно далеко друг от друга, мы можем использовать исходную формулу, только с коэффициентом V, деленным на столько пиков, сколько рассмотрено.

[оригинальный ответ]
Похоже, что вашей непосредственной заботой является то, как сервер (-ы) может справиться с дополнительной нагрузкой ... Очень достойная забота ;-). Не отвлекая вас от этой оперативной задачи, рассмотрите процесс оценки масштабов предстоящего всплеска, а также предоставьте возможность подготовить себя к тому, чтобы собирать больше и более качественные сведения о трафике сайта во время и после кампания. Такая информация со временем окажется полезной для более точных оценок скачков напряжения и т. Д., А также для определения некоторых аспектов дизайна сайта (для коммерческой эффективности, а также для повышения масштабируемости).

Предварительный план

Предположим, качественное сходство с существующим трафиком.
В рамках рекламной кампании сайт будет представлен населению, отличающемуся от текущего типа посетителей / пользователей: разные ситуации выбирают разные темы. Например, посетители "рекламной кампании" могут быть более нетерпеливыми, сосредоточенными на конкретной функции, озабоченными ценой ... по сравнению с "самостоятельно выбранными?" посетители. Тем не менее, из-за отсутствия какой-либо другой поддерживающей модели и измерения, а также для оценки нагрузки, общий принцип может заключаться в том, чтобы предполагать, что пользователи перенапряжения в целом будут вести себя подобно толпе, выбранной самим собой. На этом основании распространенным подходом являются «числа прогонов» и использование образованных догадок для небольшого изгиба коэффициентов модели с учетом нескольких отличительных качественных различий.

Сбор статистики о существующем трафике
Если у вас нет для этого лучшей информации (например, tealeaf, Google Analytics ...), вашим источником такой информации может быть просто журнал веб-сервера ... Затем вы можете создать несколько простых инструментов для извлечения парсинга этих журналов и получения следующей статистики. , Обратите внимание, что эти инструменты будут многократно использоваться для последующего анализа (например, самой кампании), а также искать возможности регистрации большего количества / разных данных без существенного изменения приложения!

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

"Выполнить" некоторые оценки :
Например, начните с оценки пикового использования, используя процентную долю пиковых часов, среднее число ежедневных сеансов, среднее число посещений страниц за сеанс и т. Д. Эта оценка должна учитывать стохастический характер трафика. Обратите внимание, что на этом этапе вам не нужно беспокоиться о влиянии эффекта очереди, вместо этого предположите, что время обслуживания относительно периода запроса достаточно мало. Поэтому просто используйте реалистичную оценку (или, скорее, значение, полученное из анализа журнала для этих очень высоких периодов использования), для определения вероятности запроса в течение коротких периодов (например, 15 минут).

Наконец, основываясь на числах, которые вы получили таким образом, вы можете почувствовать тип вспомогательной нагрузки, которую это будет представлять на сервере, и запланировать добавление ресурсов для рефакторинга части приложения. Также - очень важно! - если прогнозируется устойчивая нагрузка при загрузке, начните использовать формулу Поллачека-Хинчина, как это предложено ChrisW, чтобы получить более точную оценку эффективной нагрузки.

Для дополнительного кредита ;-) Подумайте о проведении некоторых экспериментов во время кампании, например, с помощью случайным образом , обеспечивающих отличный внешний вид или поведение для некоторых посещенных страниц, и путем измерения воздействия это может иметь (если есть) определенные показатели (регистрация для получения дополнительной информации, количество заказов, количество посещенных страниц ...) Усилия, связанные с этим типом эксперимента, могут быть значительными, но отдача также может быть значительной, и если ничто иное не может держать вашего «эксперта / консультанта по юзабилити» в затруднительном положении ;-) Вы, очевидно, захотите поработать над определением таких экспериментов с соответствующими маркетинговыми / бизнес-авторитетами, и вам, возможно, придется заранее рассчитать минимальный процент пользователей, для которых будет предложен альтернативный сайт, чтобы сохранить эксперимент статистически репрезентативным. Действительно важно знать, что эксперимент не должен применяться к 50% посетителей; можно начать с малого, но не настолько, чтобы возможные наблюдаемые изменения могли быть случайными ...

2 голосов
/ 13 октября 2009

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

То есть, если вы получаете в среднем 100 000 за 8 часов, и если время прибытия каждого из них является случайным (независимо от других), то через несколько секунд вы получаете больше, а через несколько секунд - становится меньше. Детали - это область знаний, которая называется " теория массового обслуживания ".

Предполагая, что формула Поллачека-Хинчина применима, тогда, потому что ваше время обслуживания (т.е. время процессора на запрос) довольно мало (то есть меньше, чем секунда, вероятно), поэтому вы можете позволить себе иметь довольно высокая (т.е. более 50%) загрузка сервера.

Таким образом, предполагая, что время на запрос невелико, вам нужна емкость, которая выше (но вот хорошие новости: не намного выше), чем все, что требуется для обслуживания среднего спроса.

Плохая новость заключается в том, что если ваша емкость меньше средней потребности, то средняя задержка в очереди бесконечна (или, более реалистично, некоторые запросы будут отменены до их обслуживания).

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

  • Если спрос достигает максимума во время обеденного перерыва (то есть не соответствует среднему спросу, как в другие часы), или даже если по какой-то причине он достигает максимума в течение 5-минутного периода (во время перерыва в телевизионной рекламе, например)

  • И если вы не можете позволить клиентам ставить в очередь на этот период (например, очередь на весь обеденный перерыв или, например, весь пятиминутный рекламный перерыв)

... тогда вашей способности должно быть достаточно для удовлетворения этих краткосрочных пиковых требований. OTOH вы можете решить, что вы можете позволить себе потерять излишки: что не стоит проектировать для пиковой пропускной способности (например, нанимать дополнительных сотрудников колл-центра в обеденный перерыв), и что вы можете позволить себе некоторый процент оставленных вызовов.

1 голос
/ 13 октября 2009

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

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

...