Visual Studio Load Test Моделирование виртуальных пользователей - PullRequest
3 голосов
/ 05 января 2011

В настоящее время я работаю над написанием приложения для нагрузочного тестирования, которое использует нагрузочный тест с использованием Visual Studio 2010. Нагрузочный тест будет имитировать 20 пользователей на одном компьютере, и мне нужно, чтобы некоторые данные были распределены в памяти между симулированные пользователи.

Я был удивлен, что не смог найти документацию, отвечающую на следующий вопрос:

Что отличает рабочий контекст каждого виртуального пользователя от другого? Каждый виртуальный пользователь запускает тесты в своем собственном процессе? Может быть, в своем собственном домене приложений? Или просто на своей ветке? Мне нужно знать, потому что, если каждый пользователь выполняет тесты в своем собственном процессе, тогда весь кэш в памяти не разделяется и создается для каждого пользователя, а не один раз для всех, что плохо для меня.

Ответы [ 2 ]

1 голос
/ 10 января 2011

Это самый близкий к ответу, который я нашел до сих пор.

http://blogs.msdn.com/b/billbar/archive/2007/06/13/coded-web-tests-and-web-test-plug-ins-should-not-block-the-thread.aspx

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

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

1 голос
/ 06 января 2011

Вы можете использовать Process Explorer (http://technet.microsoft.com/en-us/sysinternals/bb896653 это расширенная версия диспетчера задач), чтобы получить ответ.

Запустите загрузочный тест Visual Studio и откройте Process Explorer. Проверка на новые процессы создаются. Затем найдите процесс Visual Studio и дважды щелкните. Затем выберите вкладку .NET Performance, и она должна показать список всех доменов приложений в процессе.

Кстати, сегодня мы выпустили расширение Fiddler для нагрузочного тестирования под названием StresStimulus - http://stresstimulus.stimulustechnology.com., где все виртуальные пользователи хранятся в разных потоках в одном процессе.

...