четверг, 17 января 2013 г.

Подсчет необходимого количества виртуальных пользователей.

Подсчет необходимого количества виртуальных пользователей.


Начнем с примера:
На сайте Google Analytics в средний загруженности день имеем:

  • 2000 посетителей в 60 минут
  • 10,000 просмотров страниц
  • среднее время нахождение на сайте 7 минут

Так,я хочу вывести,сколько виртуальных пользователей мне понадобится для адекватной нагрузки?
Начнем:
2000 пользователей в 1 час (60 минут), 7 минут на сайте.
60 минут / 7минут = 8.5 (пользователей в одном потоке)
2000 / 8.5 = 235 пользователей нужно всего сэмулировать.
На первый взгляд такой расчет кажется весьма логичным и применимым к нашей задаче.Каждый тестовый сценарий должен иметь среднюю продолжительность в 7 минут,чтобы отразить среднее время пребывания на сайте.То есть около 9 пользователей полностью пройдут сценарий в течении часа,т.к. наши пользователи находятся на сайте всего по 7 минут,нам не нужно проверять все 2000 пользователей одновременно.Они долго не задерживаются, поэтому, разделив 2000 пользователей по 8,5 (продолжительность визитов) получим, что около 235 пользователей.
Если представить это в виде формулы:

U = V / (60 / D)
Где:
U-это количество виртуальных пользователей (это то, что мы пытаемся выяснить)
V- это среднее количество посетителей в час
D-является средней продолжительности посетителя
60- это количество минут в часе))
Основной недостаток этого подхода,это то что мы ожидаем равномерного прибытия пользователей,что никак не гарантированно)
Вполне возможно, что из 2000 посетителей в час, 900 из них придут на  сайт в первые 10 минут, затем 400 пользователей в 40 минут, а затем 700 пользователей за последние 10 минут.
С таким раскладом наш тест,даст нам не адекватные данные.
Поэтому для надежности,обязательно смотрим логи сервера,, чтобы получить определение пика пользователей в промежуток времени.
А кому лень считать самому: используем-http://www.webperformance.com/library/tutorials/CalculateNumberOfLoadtestUsers/

Комментариев нет:

Отправить комментарий