Dear epi developers,
We're having performance issues when loading content-types. When spinning up the app-pool, the content-types are loaded in around 2 minutes of time. At first our solution couldn't initialize at all because the ajax-call (for loading content types) timed out (timeout of 60 sec.). Thus the initialization of the structuremap container failed. Raising the timeouts to 3 minutes fixed the problem. Even though the initialization time is somwhat anoying, this is however acceptable taken into regard that we have a lot of content types.
When logging in into the editmode as an epi webmaster/administrator, the initialization starts over once again. An ajax method (GET /epiui/edit/cms/Stores/contenttype/) is once again loading, taking more than 2 minutes, and delaying all subsequent ajax calls. Thus the epi backend is hanging for 2 minutes, resulting in frustation with the webmaster.
Episerver CMS + Commerce: Version 8.
inRiver PIM + Episerver connector: Version 6.
That's strange. You are sure it's the content types that are the cause of the performance problem and not something else that initializes at the same time? Does log4net logs say anything on info level?
I know there was a performance problem earlier if you had the same sort order on many properties. So that might be an idea if the content types really is a problem. Adding guids to all of them will probably help a little too. How many content types are we talking about :)
By default all dll's in the bin will be scanned for content types and such. You can exclude dll's form being scanned.
David Knipe made a tool for it once, to scan your bin folder dor dll's that can be excluded form scanning, I have updated it to work with v9 and vs2015, have not blogged about it yet, but it's on GitHub, you can easily adapt it to work with v8, or maybe you don't need to.
You could also exclude dll's manually of course in the episerver.framework node
<add assembly="*" />
<remove assembly="Antlr3.Runtime" />
<remove assembly="Castle.Core" />
<remove assembly="Castle.Windsor" />
This should at least spead up the loading
Thank you both.
@Daniel: This is the AJAX call that is 2 mins to finish loading:
Request: GET /epiui/edit/cms/Stores/contenttype/ HTTP/1.1
Respond can be found here: http://pastebin.com/XxUtT9Fi and inspected with http://jsonviewer.stack.hu/ or other similar tools.
@Jeroen: The scan-trick speeded up the initialization with a couple of seconds, but I can't see any effect when loading the content types.
@Daniel: Does the response seem sane to you? To me it seems quite comprehensive - even though I still cannot see why it would take 2 minutes to create the data.