Привет!
У меня есть приложение ASP.NET, которое собирает данные с нескольких внешних страниц, анализирует соответствующие биты и отображает их в таблице.Общий объем полученных данных составляет 3-4 МБ, а итоговая страница - около 1 МБ.Я использую синхронный WebRequest GetResponse для поиска, но та же проблема существовала при использовании асинхронного процесса BeginGetResponse / EndGetResponse.Нет доступа к базе данных, нет хранилища сеансов, нет кэширования, но есть список в памяти около 100 объектов (всего 1 МБ данных), а также большое количество AJAX (AjaxControlToolkit).Эта проблема появляется при самом первом запуске приложения, даже если я перезапустил IIS.
Проблема:
Когда я запускаю приложение на своем компьютере разработчика, максимальный размер фиксации составляет около1.5GB.Самым крупным пользователем, измеряемым размером виртуальной машины диспетчера задач, является WebDev.WebServer.exe (600 МБ).Приложение отлично работает.
Когда я запускаю его на своем арендованном сервере (IIS 7.5, 1 ГБ ОЗУ), максимальный размер фиксации превышает 3,8 ГБ.Самый большой пользователь - w3wp.exe на 2.7GB.IIS останавливается и выплевывает страницу ошибки тайм-аута.Учитывая мой ограниченный бюджет сервера и надежду на одновременное использование нескольких пользователей, я как бы в панике.
Это нормально?Если я увеличу объем ОЗУ сервера до 4 ГБ, этого будет достаточно?Многим пользователям потребуется еще больше памяти?Может ли виновником быть AJAX или список объектов?
Спасибо за любую информацию, которую вы можете предоставить.