w3wp.exe проблема использования оперативной памяти - PullRequest
4 голосов
/ 27 июня 2011

Мы публикуем веб-сайт на основе .Net, на котором запущен IIS 7.0 в Windows Server 2008 R2 Standard Edition. В противном случае у меня есть SQL Server на другом сервере.Оба сервера IBM x3650 имеют 32 ГБ ОЗУ. Иногда служба w3wp.exe использует 20 ГБ памяти на IIS. Что мне делать?

Спасибо,

Ответы [ 2 ]

2 голосов
/ 15 августа 2011

Есть ли шанс, что вы используете URLRewritingNet, чтобы переписать ваши URL?У меня возникла серьезная проблема с производительностью на Windows Server 2008 R2 с использованием IIS7, из-за которой w3wpe.exe стал максимальным, даже когда был один пользователь!Исправление состояло в том, чтобы удалить эту библиотеку и использовать вместо этого правила перезаписи IIS7.

Проблема очень хорошо задокументирована здесь: http://blog.kurtschindler.net/post/urlrewritingnet-performance-issues

Удачи, Дэвид

0 голосов
/ 27 июня 2011

Ну тогда опять. Трудно найти утечки памяти. сначала сделайте некоторые записи предположительно для каждого полученного вами запроса -> и зарегистрируйте объем используемой памяти. Затем найдите все свои задания -> и возможные части кода, которые могут генерировать утечки (если они не выполняются при каждом запросе), а также регистрируйте их начало и конец.

Когда вы сделаете это, вы сможете впоследствии проверить свои журналы и найти части, в которых использование памяти значительно увеличивается, тогда, возможно, вы сможете точно определить, какая часть вашего кода вызывает утечки.

Другое дело, что вы можете искать «утечки памяти, ЧТО ВЫ ИСПОЛЬЗУЕТЕ», где «ЧТО ВЫ ИСПОЛЬЗУЕТЕ» - это некоторые механизмы, которые вы используете, какими бы они ни были.

С другой стороны, есть ряд вещей, которые вы должны сделать, чтобы избежать утечек памяти, первое, что приходит мне в голову, это исследование утверждения using().

О. Не думайте, что вы найдете проблему в следующие 20 минут. Скорее всего, это займет несколько дней (при попытке отладки с журналированием)

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