У меня есть приложение веб-сайта, работающее в своем собственном пуле приложений в IIS 7.0. Приложение представляет собой веб-сайт ASP.NET MVC 3.
Я заметил, что использование памяти для этих приложений связано с тем, что рабочая станция w3wp IIS довольно высока (800 МБ, с некоторыми колебаниями).
Я пытаюсь диагностировать проблему и попробовал следующее:
Я отключил кэширование выходных страниц для веб-сайта на уровне IIS, а затем переработал пул приложений. Это приводит к перезапуску процесса w3wp. Использование памяти для этого процесса постепенно увеличивается до 800 МБ, для этого требуется около 30 секунд. В настоящее время запросы страниц не обрабатываются. Когда я перезапускаю сайт из IIS, размер памяти процесса не изменяется.
Я попытался запустить отладочную копию приложения из VS 2010, нет проблем с использованием памяти.
Некоторые идеи, которые у меня есть/вопросы:
Эта проблема связана с кодом веб-сайтов? - Учитывая, что ракеты памяти перед любыми запросами страницы отправлены/обработаны, я бы предположил, что это НЕ проблема с кодом?
В приложении, созданном в MVC, нет обработки кэширования, написанной на нем.
Веб-сайт использует отображение данных в режиме реального времени, периодически использует ajax-запросы и обычно остается "открытым" в течение длительных периодов времени.
Почему загрузка памяти запускается после того, как приложение переработано и запросы пользователя не отправляются? Это потому, что он загружает в него информацию о старом кеше с диска?
Приложение НЕ сбой, меня просто беспокоит использование памяти, это не так уж важно для веб-сайта...
Любые идеи/помощь в решении этой проблемы будут оценены.