I should say (since i've got your attention) that i'm almost 100% sure that all of your customers would be more than willing to sacrifice a startup time for a well-coordinated callback when everything is warmed up, as a toggleable option of course.
To explain this a bit better, i'd definitely be happy even waiting 10+ minutes for all of my controllers/hub methods to be instant response. I could then subscribe to an event when it is ready and let haproxy/nginx or whatever else know that the server is "good to go". This way, the server goes into the pool, and everyone is happy. I remember seeing that the Bing guys did something like this, but again it was majorly hacky.
Thanks for all the great work you're doing on C#/.NET Core in general by the way.
Re:What Makes .NET Core So Special?
by sebastienros on Friday November 09, 2018 @02:33PM
(#18417184)
Tiered Compilation is tweaked in a way that it provides a very good balance between startup time and throughput, which is what a majority of users would need. If you want to privilege throughput and don't care about startup time, then you should try COMPlus_ReadyToRun=0 as an environment variable. This will force to use non-crossgened code so the JIT can better optimize your code.
How about using native compilation?
Said that in the post above :) however it doesnt seem to impact HTTP requests or requests to a signalr hub for the first time after boot.
We've had tiered compilation enabled since it came out as an option, but the first requests are still dog slow
What are you disclaiming?
Disclaimer: I work on performance in the ASP.NET team.