I’ve been searching for answers concerning this questions for quite some time.
Our team has been developing an ASP.NET Core web application since the first releases of ASP.NET Core / ASP.NET vNext. Performance testing was not much of a concern back then, because it was new, unfinished, different. Now that ASP.NET Core has been (finally) released, we were curious how our new ASP.NET Core web application might perform against our current ASP.NET application. While throughput may be good (nothing we were concerned about in our previous application), the following made us question our effort:
- Higher startup time (not serious but notable)
- 3-5 times more memory consumption
Now the latter made us really worry because this is a huge difference. Nowhere on the internet could I find comments on this. The opposite is true: on most announcements it was stated that ASP.NET Core would require less memory then the previous version. So we checked the default ASP.NET Core MVC template (maybe we made a serious mistake somewhere). But even the default ASP.NET Core MVC template took about 100 MB memory. Compared to about 20 MB memory of the previous ASP.NET MVC template, this is an increase by factor 5.
So maybe someone can answer these questions:
- Why is this?
- Are there any solutions to mitigate this problem?
- Will there be a solution for this in near future?
- Why can’t I find anyone complaining about this?