Как выполнить внутренний тест производительности для приложения .net? - PullRequest
2 голосов
/ 21 августа 2009

Здравствуйте, мой друг в настоящее время разрабатывает приложение с использованием архитектуры SOA. Он прислал мне изображение с множеством слоев (почти 10) и беспокоится о проблемах с производительностью. Приложение разрабатывается на VB.Net 2.0 и 3.5 (некоторые ЛИЭС). Он не понимает по-английски, я стараюсь изо всех сил пытаться помочь ему, но я думаю, что пришло время получить инструмент для работы.

Спасибо

Ответы [ 3 ]

1 голос
/ 21 августа 2009

Я использовал свои модульные тесты для этого, пропуская одни и те же тестовые данные, в основном, через каждый уровень, поэтому вы начинаете с самого нижнего уровня (возможно, объекта доступа к базе данных). Найдите время для этого. Затем протестируйте следующий уровень и продолжайте, и вы увидите, как производительность падает для каждого слоя.

Возможно, вы захотите выполнить тесты 10 или 100 раз и получить время до тестов, затем время после и распечатать разницу, чтобы вы могли устранить некоторые случайные различия.

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

1 голос
/ 21 августа 2009

Похоже, что это хорошо подходит для сочетания профилирования (ANTS Performance Profiler - надежный продукт, но есть и другие платные и бесплатные альтернативы) и тестов интеграции / производительности.

Десять уровней кажутся ужасными, у нас есть «квази» SOA-приложение (все сервисы доступны внутри, сообщения, которые проходят через них, почти полностью используются одним клиентским приложением), которое обычно состоит только из 4-5 слои:

Database > Web-Service > Web-Service Proxy / Persistence Layer > Data Layer > UI

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

1 голос
/ 21 августа 2009

Вы должны использовать профилировщик. Вот ссылка на блог команд Visual Studio Profiler: http://blogs.msdn.com/profiler/

Там много классных вещей.

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