Нагрузочный тест веб-приложения с большим количеством пользователей (50 000 пользователей)

У нас есть веб-приложение MVC, и мы хотим провести нагрузочное тестирование для этого приложения с 50 000 пользователей. В настоящее время мы проводим распределенное тестирование в режиме без графического интерфейса с использованием J Meter. Мы можем смоделировать 7 тысяч пользователей, используя 10 разных машин (конфигурация ведущий-подчиненный).

Однако для достижения 50 000 пользователей нам нужно большое количество машин, что является громоздким процессом. Есть ли какой-либо бесплатный инструмент для достижения этой цели.


person R J    schedule 11.04.2016    source источник
comment
Если в вашем веб-приложении 50 000 пользователей, то для этого подойдет один сервер. Помните, что 50 000 пользователей — это не то же самое, что 50 000 одновременных пользователей (это похоже на уровни трафика Facebook или Google).   -  person halfer    schedule 11.04.2016
comment
@halfer да, это было бы хорошо, нам не нужны 50 тысяч одновременных пользователей.   -  person R J    schedule 11.04.2016
comment
Хорошо, учитывая это, вам по-прежнему нужно несколько машин? Если вы выполняете нагрузочное тестирование, я полагаю, вам понадобятся настоящие машины, а не виртуальные машины, или виртуальные машины будут приемлемы для ваших целей? В любом случае вы можете попробовать инструмент devops, такой как Ansible или Puppet.   -  person halfer    schedule 11.04.2016


Ответы (2)


50 тыс. пользователей != 50 тыс. одновременных запросов.

  1. Пользователи не забивают приложение нон-стоп, им нужно время на «обдумывание» между операциями
  2. Пользователям приходится ждать, пока загрузится следующая страница

So

  • если пользователь «думает» в течение 10 секунд между операциями, а время загрузки страницы составляет 2 секунды, каждый пользователь будет выдавать 5 запросов в минуту.
  • 50 тысяч пользователей будут отправлять 250 тысяч запросов в минуту.
  • 250 тысяч запросов в минуту — это ~4150 запросов в секунду.

Цифры могут отличаться в зависимости от характера вашего приложения, однако, если вы можете смоделировать 7 тысяч одновременных запросов, вы сможете преобразовать их в 50 тысяч одновременных пользователей.

Взгляните на таймеры JMeter. Существуют различные реализации, которые позволяют:

person Dmitri T    schedule 12.04.2016

Я надеюсь, что другие ответили на вашу точку зрения на одновременных пользователей. Если вам все еще нужно протестировать их с помощью облачного решения (агентов), вот ссылка на 20 000 минут бесплатного веб-нагрузочного тестирования через VSTS Azure Datacenter — https://msdn.microsoft.com/library/vs/alm/тест/тестированиепроизводительности/приступаякработе/приступаякработестестированиемпроизводительности

Вы можете купить дополнительные минуты онлайн и распределить свои тесты на нескольких виртуальных машинах в разных регионах.

person Bhaskar    schedule 06.05.2016