Какие запросы приводят к значительному росту процесса w3wp? - PullRequest
1 голос
/ 23 октября 2009

В производственной среде, как определить, какие http-запросы Asp.Net, aspx, asmx или пользовательские, вызывают наибольшее давление памяти в процессе w3wp.exe? Я не имею в виду утечки памяти здесь. Это хорошее здоровое приложение, которое хорошо распределяет все свои объекты. Microsoft поколения GC делает это работает нормально. Однако некоторые запросы приводят к тому, что процесс w3wp значительно увеличивает объем памяти, но только на время запроса.

Это просто вопрос рентабельности и масштабируемости производственной среды для приложения SAAS, с тем чтобы регулярно отчитываться перед отделом разработки о самых "загружаемых" страницах памяти, чтобы вернуть это (память) давление, где оно принадлежит , так сказать.

Кажется, ничего подобного нет:
HttpContext.Request.PeakPrivateBytes или .CurrentPrivateBytes
или
Session.PeakPrivateBytes

Ответы [ 3 ]

2 голосов
/ 13 ноября 2009

Возможно, вы захотите использовать такой инструмент, как Performance Monitor, чтобы отслеживать «Process \ Working Set» для процесса W3WP.exe и записывать его в базу данных. Затем вы можете соотнести его с журналами HTTP для IIS-сервера.

Это помогает иметь как данные Perfmon, так и журналы HTTP и запись в базу данных SQL. Затем вы можете использовать T-SQL для вызова запрошенных страниц по дате / времени во время наблюдаемого нехватки памяти. Используйте функцию DatePart для построения даты / времени, округленных до требуемой точности секунды или минуты, если необходимо.

Надеюсь, это поможет.

Спасибо, -Glenn

0 голосов
/ 23 октября 2009

Я бы не волновался об этом. Может случиться так, что GC происходит во время запроса, а CLR выделяет память для перемещения вещей. Или это может быть какая-то другая вещь периодического обслуживания, которая поставляется вместе с ASPNET.

Если вы не готовы приступить к тщательному анализу перфокарт-событий генерации 0,1,2 GC и т. Д., Я бы не стал беспокоиться о решении этой "проблемы".

И, похоже, это не проблема, просто любопытство.

0 голосов
/ 23 октября 2009

Если вы используете InProc состояние сеанса, все ваши данные сеанса хранятся в памяти w3wp и могут быть причиной их роста.

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