Проблемы с производительностью при запуске сайта в Visual Studio против профилирования
Это очень странная проблема, с которой я сталкиваюсь, и она почти противоречит всему, что я могу придумать. В настоящее время я профилирую веб-сайт, который мы создаем, и иногда загрузка страницы занимает 5 секунд. Это происходит как на IIS, так и на Visual Studio Development Server. Однако, когда я профилирую его с помощью ANTS Performance Profiler, он работает в 5 раз быстрее и загружается менее чем за секунду.
Я весьма озадачен тем, почему это может произойти, потому что, насколько я знаю, профилирование должно увеличивать время, а не уменьшать его. Кто-нибудь может пролить свет на это?
Сайт разработан в Visual Studio 2010, ASP.Net v4.0, C#.
2 ответа
Это интересно, так как это очень редко (я работаю над поддержкой ANTS). Основным отличием, которое ANTS придает процессу, являются разрешения (поскольку (обычно) процесс полностью инициируется ANTS и наследует разрешения). У нас есть некоторые процедуры, которые оптимизируют процедуру запуска, но я никогда не слышал о таком ускорении. Используя Taskmanager, взгляните на учетную запись, в которой процесс выполняется под ANTS, и, как правило, попробуйте запустить процесс под учетной записью, которую использует ANTS. Вы можете найти, что это помогает объяснить ускорение.
Тестирование производительности должно проводиться в тщательно контролируемых условиях. Такие вещи, как системный файловый кеш, сеть, загрузка компьютера, состояние NGEN, антивирусный сканер могут повлиять на результат перфоманса.
Используйте Perfview, чтобы понять, как расходуется 5 с (возможно, ожидание дискового ввода-вывода):
http://www.microsoft.com/en-us/download/details.aspx?id=28567