Don't miss out Virtual Happy Hour this Friday (April 26).

Try our conversational search powered by Generative AI!

EPi removes remove-elements from scanAssembly?

Vote:
 

I'm trying to get faster startup of my site and have added the config below.

It looks like as soon as EPi loads and updates EPi also removes all my defined remove-elements inside scanAssembly. Should it be like this? I don't see the same behaviour in EPi6.


	
		
		
		
		
		
		
		
		
		
		
		
		
		
		..
#91497
Oct 07, 2014 16:29
Vote:
 

"Removes" means EPiServer is removing from the file or "ignores" it while scanning?

#91578
Oct 08, 2014 21:18
Vote:
 

I trace much less time inside ContentTypeModelScanner so I assume it works.

Having to re-add my remove-elements to EPiServerFramework.config before next startup is something I would like to avoid though.

#91589
Oct 09, 2014 8:35
Vote:
 

However "much less time" in this case is still way too much.

80 seconds below
Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter.CreateType(TypeBuilder)

Drilling down and find most of the time (60 seconds) below
EPiServer.DataAbstraction.RuntimeModel.ContentDataActivator.Create(Type)
And below that
EPiServer.DataAbstraction.RuntimeModel.ContentTypeModelScanner+<>c__DisplayClass14`3.<EagerCompileProxies>b__10()

I'm looking into what more I can do. Some pointers would be appreciated!

#111772
Oct 21, 2014 10:48
Vote:
 

The code you are refering to is running in the background as a .NET Task so it should not affect startup on a multi core system. The reason we are doing this is to avoid that the first requests to pages/blocks etc causes this compilation which slows down the site and the startup. So basically an optimization that should help you.

Type scanning is done earlier and an area we done a lot of improvements to in EPiServer 7.0 to avoid the performance hit on startup but to see the full effect of that you really need to enable optimizeCompilations in web.config. Also, EPiServer CMS 7.5 does no longer save changes to web.config and automaticSiteMapping on startup. That we change the scanAssembly elements in EPiServer 7.0 and older is not something I heard about before.

#112234
Oct 24, 2014 17:43
Vote:
 

Correction: I actually think the Alloy templates that shipped with EPiServer 7.0 wipe out the scanAssembly. Have a look at the post build events that apply configuration transformations.

#112236
Oct 24, 2014 17:48
Vote:
 

I can see that the remove-elements exist "post-build". But after site startup the are removed.

In regards to this project's extremely slow startup I suspect some kind of bug in here:
Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter.CreateType(TypeBuilder)

EPiServer 7.1:
82 seconds and 35420 calls.

Same project (almost at least) upgraded to 7.5:
Same function signature 1,8 seconds and 3689 calls.

Live upgrade is still quite a bit far ahead so getting better perfomance in 7.1 is wanted. There is a support ticket registered.

What more analysis options do I have?

#112237
Oct 24, 2014 18:21
Vote:
 

Make sure the automaticSiteMapping element is not removed post build.

#112254
Oct 27, 2014 8:04
Vote:
 

Fixed that now and that keeps my remove list intact after startup.

Startup is faster but now every request takes much longer. Haven't had time to anlyze further.

#112311
Oct 27, 2014 16:34
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.