@PahinX8

Как может быть сильно разное потребление памяти одним сайтом ASP.Net на разных серверах?

Написал небольшой сайтик на ASP.Net. На своей рабочей машине посмотрел на потребление памяти: 60-80Мб физической и 750-800Мб виртуальной.

Выложил сайтик на хостинг. И спустя небольшое время обратил внимание на частые рестарты пула. Залез в лог - там превышение лимита виртуальной памяти и, иногда, превышение лимита физической памяти.
Очень удивился, т.к. в тарифе доступно 1Гб физической и 1,5Гб виртуальной. Запросил поддержку, они прислали скрин из диспетчера задач, где пул с моим сайтом потребляет порядка 800Мб физической(!) памяти!

Немного офигел. Скачал сайт с хостинга (чтобы исключить "забытые" модификации кода), принес домой, поставил на домашнюю винду IIS (всё по дефолту), создал новый App Pool (всё по дефолту, только включил 32бит приложения), создал новый веб-узел (всё по дефолту). Запускаю (подключаясь к БД хостинга), прогружаю (прохожу по всем страницам), результат: 55Мб физической и 630Мб виртуальной.

Как так получается, что у меня на разных машинах сайт потребляет 50-80Мб памяти, а на хостинге - 800? Как такое вообще может быть, разница в 10 раз!
Про виртуальную я уже молчу, тут с физической бы разобраться...

PS. Во всех описанных ситуациях речь идет о потреблении памяти процессом w3wp.exe
Потребление памяти смотрится в IIS и в диспетчере задач

605f29bf9e7e7567411072.png

PPS. Количество пользователей на сайте около нуля. Сайт выложен на хостинг, буквально, 2 дня назад и нигде не анонсировался. О нем знают пяток человек, которые могут туда зайти просто ради любопытства. Плюс пара ботов на него залезли, но почитав robots.txt - свалили. Посторонних людей нет.
Так что нагрузка и на тесте и на хостинге одинаковая - нулевая.
Сайт новый, данных в БД мало - буквально пара десятков статей в разных разделах.
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Код смотреть нужно. Первое что приходит на ум это разное количество пользователей. Попробуйте Apache jmeter для стресс тестирования по типичным для вас нагрузкам. Второе обратите внимание на кэши, это опять же связано с количеством пользователей. Если не поможет начните использовать appinsigth что бы снять метрики с реального сайта. Вот как бы и все с чего стоит начать
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы