Can you profile to see what actually take the time? the initialization process is for all sites, I don't think it should take that long
We've done an analysis of process logs on a server that had 9 application pools (less than our production environment). upon restarting the web services the CPU maxed out for about an hour.
Just to be clear we have multiple EpiServer instances running rather than one with multiple sites.
Sounds like something similar I ran in to before where we had about 15 Episerver CMS sites on one (rather powerful) server. On restart and scaling events all the sites were trying to spin up at the same time and they ended up all maxing the CPU for about an hour due to the CPU resource contention.
In our case the fix was to progressively start them up using a powershell (or similar) script so maybe start 1-3 sites at once so the CPU doesn't fully max out, and then do the next "group" etc. In our case this helped nearly halve the overall spin up time and of course the sites we started first were the most important so editors could get back to using them rather quickly instead of having to wait the full hour.
The other option of course is to scale horizontally and get more servers. I would say 50 is a lot especially if it is production traffic. Personally I think 10 is my limit but it all depends on your infrastructure and budgets.
My workplace has a situation whereby a server has approx 50 separate episerver sites on it and when a patch requires the server to reboot it is taking 4 to 5 hours to initialize everything.
so what is the recommended number of sites per server? if >= 50 is ok is there a way to speed up the initialization?
Updated Subject to reflect we need to know what the recommended number of Episerver instances per server are.