Написал небольшой сайтик на ASP.Net. На своей рабочей машине посмотрел на потребление памяти: 60-80Мб физической и 750-800Мб виртуальной.
Выложил сайтик на хостинг. И спустя небольшое время обратил внимание на частые рестарты пула. Залез в лог - там превышение лимита виртуальной памяти и, иногда, превышение лимита физической памяти.
Очень удивился, т.к. в тарифе доступно 1Гб физической и 1,5Гб виртуальной. Запросил поддержку, они прислали скрин из диспетчера задач, где пул с моим сайтом потребляет порядка 800Мб физической(!) памяти!
Немного офигел. Скачал сайт с хостинга (чтобы исключить "забытые" модификации кода), принес домой, поставил на домашнюю винду IIS (всё по дефолту), создал новый App Pool (всё по дефолту, только включил 32бит приложения), создал новый веб-узел (всё по дефолту). Запускаю (подключаясь к БД хостинга), прогружаю (прохожу по всем страницам), результат: 55Мб физической и 630Мб виртуальной.
Как так получается, что у меня на разных машинах сайт потребляет 50-80Мб памяти, а на хостинге - 800? Как такое вообще может быть, разница в 10 раз!
Про виртуальную я уже молчу, тут с физической бы разобраться...
PS. Во всех описанных ситуациях речь идет о потреблении памяти процессом w3wp.exe
Потребление памяти смотрится в IIS и в диспетчере задач
PPS. Количество пользователей на сайте около нуля. Сайт выложен на хостинг, буквально, 2 дня назад и нигде не анонсировался. О нем знают пяток человек, которые могут туда зайти просто ради любопытства. Плюс пара ботов на него залезли, но почитав robots.txt - свалили. Посторонних людей нет.
Так что нагрузка и на тесте и на хостинге одинаковая - нулевая.
Сайт новый, данных в БД мало - буквально пара десятков статей в разных разделах.