Мне просто интересно, какие есть варианты для правильного измерения / профиля / оптимизации веб-частей ASP.net 2.0, особенно для Sharepoint 2007?
Поскольку веб-части представляют собой слой на другом уровне технологий, получение ресурсов, открытых дескрипторов и прочего только для веб-части кажется немного сложным.
Кто-нибудь знает хорошие инструменты или методы для профилирования и оптимизации веб-частей?
Когда мы начинали с SP2003, мы беспокоились о том, чтобы не закрывать соединения в приложениях или веб-частях. Мы использовали следующий запрос, чтобы проверить, будет ли увеличиваться базовое число соединений (не считая начальный всплеск) при использовании приложения на сервере разработки:
ВЫБЕРИТЕ имя хоста, sysdatabases.name, sysprocesses.status, last_batch из sysprocesses, sysdatabases, где sysprocesses.dbid = sysdatabases.dbid и nt_username = ' Учетная запись службы SP ' и (hostname = ' WFE1 ' или hostname = ' WFE2 ') и sysprocesses.dbid = 10 заказов по last_batch desc
(замените значения, выделенные жирным шрифтом, на те, которые соответствуют вашей среде)
Мы не пробовали это с момента обновления до MOSS.
Я обнаружил, что отделение всей бизнес-логики от отдельной библиотеки DLL, которая легко тестируется модулем, было для меня самым простым методом. Но, честно говоря, я не нашел ничего хорошего, кроме того, что я только что упомянул. То же самое относится и ко мне с приложениями Facebook в последнее время. Я думаю, что это распространено для любого приложения, которое работает внутри другой платформы. Особенно когда производительность и тестирование никогда не были целью, когда разработчики платформы начали создавать систему.
Я успешно профилировал SharePoint 2010 с помощью EQATEC Profiler . Бонус в том, что у них есть бесплатная версия. Так как он работал в SharePoint 2010, я ожидаю, что он будет работать с SharePoint 2007.
Вот как я работал с SharePoint 2010: http://blogs.visigo.com/chriscoulson/performance-profiling-a-sharepoint-2010-project-using-eqatec-profiler/