3.3 minutes for cold start, or after it gets recycled by IIS App Pool. That’s ridiculous.

初回起動って3.3分？なぬ？

No one to blame as most of the team members was new to ASP.NET MVC. For some reason, I joined the project for just a few days during which I can e̶x̶p̶l̶o̶i̶t investigate and made the improvement.

My first ASP.NET experience dates back to January 2002, just one month before the .NET v1.0 official release, hence, beta at that time. So I turned Super Saiyan, trying to help. With some googling also, of course, I did a few attempts that led me to the final result. Let’s dive into it.

First, I updated DotNetCompilerPlatform nuget package to the latest, at that time.

Second, enabled IIS Application Initialization.

Third, used Release build configuration during publish (doh!)

Fourth, deleted AreaRegistration.RegisterAllAreas() from Global.asax, since we didn’t use it.

Fifth, Bundling and Minification were only partially implemented.

Sixth, fixed null model.