Как точно определить использование памяти пула приложений приложением ASP.NET - PullRequest
3 голосов
/ 19 февраля 2011

Моя хостинговая компания накладывает ограничение на пул приложений в 100 Мб (IIS 7.5).

Как точно определить использование памяти моим приложением ASP.NET?

Для созданиякакая-то базовая строка Я создал пустое приложение ASP.NET MVC 3 с одним действием контроллера, возвращая строковый результат.

Профилирование этого приложения с помощью ANTS дало следующие результаты:

Generation 1 - 286.2KB
Generation 2 - 795.4KB
Large Object Heap - 75.63KB
Unused memory allocated to .NET - 1.323MB
Unmanaged - 26.78MB

Меня беспокоит то, что если ограничения пула приложений основаны на частных байтах, то пустое приложение ASP.NET MVC использует 33 МБ ресурса пула.Поэтому мое MVC-приложение, которое на самом деле что-то делает (использует 93 МБ), легко превысит «предел».

Если, однако, я вызываю GC.GetTotalMemory, то результат равен 8 МБ, что звучит гораздо более приемлемо.

У меня не было абсолютно никаких успехов в поиске каких-либо тестов для сравнения, но если пустое веб-приложение MVC действительно использует 33 МБ ресурса (это звучит чрезмерно), то ограничения, налагаемые моим хостом, кажутся совершенно нереальными.

Большое спасибо, Бен

1 Ответ

0 голосов
/ 20 февраля 2011
  1. Поговорите с вашим хостинг-провайдером, чтобы узнать, относится ли этот предел к частной памяти или виртуальному.
  2. Узнайте о частной памяти и виртуальной памяти, а затем используйте профилировщик ANTS, чтобы лучше понять свойотпечаток памяти приложения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...