We are doing a pass to improve performances on our Orchard applications. In particular, we are focusing on the first load, and appliaction startup.
We would like to chat with @sebastienros and whoever else you feel may contribute. We are looking to improve things specifically for application startup here.
Clearly, there are deployment strategies to "mask" the time the application take in starting up the shells. However this startup time scales with the number of tenants and features. Ideally, we are looking to minimize this time for installations with many dozen tenants and few hundred installed features.
We are doing a pass to improve performances on our Orchard applications. In particular, we are focusing on the first load, and appliaction startup.
We would like to chat with @sebastienros and whoever else you feel may contribute. We are looking to improve things specifically for application startup here.
Clearly, there are deployment strategies to "mask" the time the application take in starting up the shells. However this startup time scales with the number of tenants and features. Ideally, we are looking to minimize this time for installations with many dozen tenants and few hundred installed features.
We've already found a change we are testing to the
ExtensionManager
https://github.com/OrchardCMS/Orchard/blob/882fb8eca544c3d87a8634b931df6a4f77b5bd20/src/Orchard/Environment/Extensions/ExtensionManager.cs#L91 by adding a configuration option to disable attempting to load each feature in parallel (which seems to improve startup time in some conditions), and the possibility to cache entire lists ofFeatures
(improving this startup step greatly where several tenants share a common configuration). Once we clean this up and test this properly we can do a PR.We would still like to discuss further strategies to see how things can be improved.