Какие запросы приводят к значительному росту процесса w3wp?

StackOverflow https://stackoverflow.com/questions/1610638

Вопрос

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

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

Кажется, здесь нет ничего подобного:
HttpContext.Request.Пиковые приватные байты или .CurrentPrivateBytes
или
Сессия.Пик приватных байтов

Это было полезно?

Решение

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

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

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

Спасибо, -Гленн

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top