2013-04-22 6 views
1

Я использую ANG RedGate для устранения проблем с производительностью в приложении ASP.NET 3.5 WebForms. Иногда при посещении очень маленьких страниц требуется загрузка до 15 секунд. Это страницы без каких-либо данных - всего несколько элементов управления.Проблема с производительностью ASP.NET в пространстве имен System.Web.Hosting

ANTS Profiler говорит мне, что методы горячей точки (время с детьми> 5 секунд) находятся в System.Web.Hosting, например:

  • ExecuteFunctionDelegate
  • PipelineRunTime

Но «собственное время» из них составляет менее 0,001 секунды. Больше ничего нет, это горячая точка. Итак, что может быть «ниже» этих методов, которые могут вызвать эту проблему?

+0

Я думаю, что я взломал его - этот поток, вероятно, является приложением, ожидающим сам ANTS, так как я настроил его на самый точный и навязчивый режим профилирования (строка за строкой). – tuseau

ответ

1

Возможно, вы захотите переключиться с процессорного времени на время настенных часов, если вы хотите проверить методы, которые занимают много времени IRL. Вероятно, существует асинхронное ожидание (WaitForSingleObject), которое не учитывается при использовании времени процессора.

+0

Спасибо, но с помощью настенных часов все еще отображается самая длинная точка доступа, являющаяся какой-то тайной нитью, то есть не кодом приложения. Многие из горячих точек находятся в System.Web.Hosting ... почему они занимают много времени (как через 5 секунд)? – tuseau

+0

Я не могу ответить, потому что я не знаю о внутренних функциях этого пространства имен. Но если это ANTS, вы можете попробовать более быстрый метод профилирования. В любом случае вы не получите линейный уровень в пространствах имен MS. – Wonko