Answer the question
In order to leave comments, you need to log in
How to properly profile RAM in ASP.NET MVC? What do these numbers mean in dotMemory?
I deployed my ASP.NET MVC application on the hosting, started testing, and after 10 minutes the hosting blocked my application for a day, because the RAM consumption exceeded the limit (512Mb).
By itself, the application turned out to be not heavy at all. 9 queries to the database on the main page (on the rest - a maximum of 5-6). There is nothing special.
Technical support asked how much memory the application consumes locally. I decided to profile the application through dotMemory (I have never done anything like this before, and I am not familiar with unit tests)
. The artificial load was created by the fastest page clicks.
At the peak of the load, the value of "Total used" reached 420Mb, and "Unmanaged Memory" up to 300Mb, the other values did not change much.
So what are the values to pay attention to?
Before that, the same application was written in PHP (Yii2), so it did not even consume half of the allocated resources at peak load. (although hosting was almost 4 times cheaper)
How much RAM do you need to run an application on asp.net mvc, similar in scale to some average portal with 1-2k traffic per day?
Answer the question
In order to leave comments, you need to log in
The developer's website states that
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.
from which it follows in your case that the main memory is being eaten by third-party components ... try to remove unnecessary things from the application, any references to unused resources - in theory it should help.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question