Нагрузочное тестирование и тестирование производительности - это действительно единственный способ выяснить метрики производительности и требования к экземплярам вашего приложения.Вам нужно будет определить «одновременных пользователей» - это означает 25 000 одновременных транзакций или просто 25 000 активных сеансов?И если последнее, как часто пользователь посещает веб-страницы (например, время обдумывания между страницами)?Кроме того, есть все остальные движущиеся части: базы данных, хранилище Azure, внешние веб-сервисы, обмен внутри ролями и т. Д. Все эти шаги в конвейере обработки могут быть узким местом.
Не забывайте SLA: Предполагая, чтоВы МОЖЕТЕ поддерживать 25 000 одновременных сессий (не транзакций в секунду). Какое приемлемое время приема-передачи?Две секунды?Пять?
Когда вы думаете о количестве экземпляров, вам также необходимо учитывать размер виртуальной машины в вашем уравнении.Опять же, в зависимости от вашего конвейера обработки, вам может понадобиться средняя или большая виртуальная машина, например, для поддержки определенных требований к памяти.Вы можете получить совершенно разные результаты при тестировании разных размеров виртуальных машин.
У вас должен быть способ выполнения эмпирических тестов, которые можно повторять и удалять ошибки в крайнем случае (например: запускать тесты минимум 3 раза, чтобы получитьсреднее значение и методическое увеличение нагрузки в четко определенном порядке и наблюдение за результатами, находящимися под этой нагрузкой, в течение заданного промежутка времени для обеспечения хаотического поведения добавления нагрузки для стабилизации).Это эмпирическое тестирование включает в себя тщательно разработанные планы тестирования (например, какие страницы будут посещать пользователи для заданных сценариев использования, включая возможные данные формы).И вам понадобятся соответствующие инструменты для мониторинга тестируемых систем, чтобы определить, когда данная нагрузка создает «колено в кривой» (то есть вы попали в узкое место, и ваша производительность резко падает).
Заключительная мысль: Убедитесь, что ваш инструмент для создания нагрузки не является узким местом во время теста!Возможно, вы захотите использовать решение Microsoft для нагрузочного тестирования с Visual Studio или облачное решение для нагрузочного тестирования, такое как Loadstorm (заявление об отказе: Loadstorm опрашивал меня о нагрузке / производительноститестирование в прошлом году, но я не работаю на них в любом качестве).
РЕДАКТИРОВАТЬ 21 июня 2013 г. Объявленный на TechEd 2013, Team Foundation Service предложит облачное нагрузочное тестирование.с предварительным просмотром, запущенным 26 июня, совпавшим с конференцией // build.Объявление здесь .