@JackBoner

Как правильно профилировать оперативную память в ASP.NET MVC? Что значат эти цифры в dotMemory?

Развернул своё ASP.NET MVC приложение на хостинге, начал тестить, и через минут 10 хостинг заблокировал моё приложение на сутки, за то что потребление оперативной памяти превысило лимит (512Mb)

Само по себе, приложение получилось вовсе не тяжеловесным. 9 запросов в БД на главной странице (на остальных - максимум 5-6). Ничего особенного нет.

В техподдержке спросили, сколько приложение потребляет памяти локально. Решил отпрофилировать приложение через dotMemory (до этого ничего подобного не делал, и с юнит тестами не знаком)

c35c8ff5d0e5476ab5f8d840badec5d1.pngb5b0bd65724842148e8677f0c11a41d7.png

Искусственная нагрузка создавалась максимально быстрым закликиванием страницы.

На пике нагрузки значение "Total used" доходило до 420Mb, а "Unmanaged Memory" до 300Mb, остальные значения менялись не сильно.
Так на какие именно значения надо обращать внимание?

До этого, тоже самое приложение было написано на PHP (Yii2), так оно в пик нагрузки не потребляло даже половину от выделенных ресурсов. (хотя хостинг стоил почти в 4 раза дешевле)

Сколько вообще нужно оперативной памяти для работы приложения на asp.net mvc, по масштабам схожим с каким нибудь средним порталом с посещаемостью 1-2к в сутки?
  • Вопрос задан
  • 3663 просмотра
Пригласить эксперта
Ответы на вопрос 1
hePPer
@hePPer
на сайте разработчика описано, что

Unmanaged memory * — memory allocated outside of the managed heap and not managed by Garbage Collector. Generally, this is the memory required by .NET CLR, dynamic libraries, graphics buffer (especially large for WPF apps that intensively use graphics), and so on. This part of memory cannot be analyzed in the profiler.


из чего следует в вашем случае, что основную память съедают сторонние компоненты... пробуйте удалить из приложения лишнее, всякие ссылки на не используемые ресурсы - поидее должно помочь.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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