Virtual Happy Hour this month, Jun 28, we'll be getting a sneak preview at our soon to launch SaaS CMS!

Try our conversational search powered by Generative AI!

EPiServer CMS Mode Page Tree Performance

Vote:
 

Hi,

I have recently upgraded a cms site from EPiServer.CMS 11.8.0 to 11.11.2

We are occasionally facing High CPU Usage as soon as we try to access /episerver/cms, 

(Yes, our page Tree structure is bad but it was before the upgrade also, Few Pages contains a deep hierarchy of Content Area.)

High CPU High CPU usage was detected for the application 'XXXXX'(55.6%) on only one instance out of XXXXX instances in your app service plan. The affected instance had a peak overall usage of 100% during this time. Affected instance name: XXXXXXX More Info 
Failed Urls 57.14% of failures came from '/EPiServer/Shell/11.17.1/ClientResources/EPi/cms/nls/en-us/episerver.cms.components.pagetree.js' path.

Any hint or advice before we go to the service desk.

Best Regards

#202962
Apr 04, 2019 15:13
Vote:
 

/EPiServer/cms/Stores/contentstructure/?referenceId=XXX&query=getchildren&typeIdentifiers=episerver.core.pagedata&allLanguages=true&sort()&dojo.preventCache=1554387618898

is another killer

#202965
Apr 04, 2019 16:23
Vote:
 

@Khurram - can you run a profiler such as dotTrace for those requests to see which are in there?

#202967
Apr 04, 2019 16:51
Vote:
 

This won't be possible, Its production, it's Azure, Its a large DB.

#202972
Apr 04, 2019 18:33
Vote:
 

Then you can use Application Insights and memory dumps to find out what is slow :)

The developer support service is there!

#202977
Apr 04, 2019 20:18
Vote:
 

Are you sure that works in the DXC Service version of Application Insights @Quan?

#202986
Apr 05, 2019 7:56
Vote:
 

Which works? 

Khurram just said about Azure, nothing about DXC-S. Honestly I don't know what you can access with DXC-S, but you can always reach out for support

#202987
Apr 05, 2019 8:20
Vote:
 

as an immediate remedy, we restarted applications. it solved the issue but it's under observation now. There is another weird issue that I am having on Release on few environments. To fix that only option that I have is Stop Application/Delete ww root folder and deploy again. But this is I have to do for every release. I am looking into this now but don't have any clue yet.

The argument 'nameOrConnectionString' cannot be null, empty or contain only white space.
....

[ArgumentException: The argument 'nameOrConnectionString' cannot be null, empty or contain only white space.]
   System.Data.Entity.Utilities.Check.NotEmpty(String value, String parameterName) +79
   System.Data.Entity.DbContext..ctor(String nameOrConnectionString) +34
   DbLocalizationProvider.LanguageEntities..ctor(String connectionString) +17
   DbLocalizationProvider.AspNet.Queries.GetResourceHandler.Execute(Query query) +105
   DbLocalizationProvider.AspNet.Queries.GetTranslationHandler.Execute(Query query) +538
   DbLocalizationProvider.EPiServer.DatabaseLocalizationProvider.GetString(String originalKey, String[] normalizedKey, CultureInfo culture) +90
   EPiServer.Framework.Localization.ProviderBasedLocalizationService.LoadString(String[] normalizedKey, String originalKey, CultureInfo culture) +122
   EPiServer.Framework.Localization.LocalizationService.TryGetStringByCulture(String originalKey, String[] normalizedKey, CultureInfo culture, CultureInfo fallbackCulture, String& localizedString) +140
   EPiServer.Framework.Localization.LocalizationService.GetStringByCulture(String resourceKey, FallbackBehaviors fallbackBehavior, String fallback, CultureInfo culture) +321
   EPiServer.Framework.Localization.LocalizationService.GetStringByCulture(String resourceKey, FallbackBehaviors fallbackBehavior, CultureInfo culture) +22
   EPiServer.Framework.Localization.LocalizationService.GetString(String resourceKey) +70
   EPiServer.Forms.EditView.InitializationModule.SetupFormContainerProperties() +708
   EPiServer.Forms.EditView.InitializationModule.Initialize(InitializationEngine context) +192
   EPiServer.Framework.Initialization.Internal.ModuleNode.Execute(Action a, String key) +58
   EPiServer.Framework.Initialization.Internal.ModuleNode.Initialize(InitializationEngine context) +123
   EPiServer.Framework.Initialization.InitializationEngine.InitializeModules() +248

[InitializationException: Initialize action failed for Initialize on class EPiServer.Forms.EditView.InitializationModule, EPiServer.Forms.UI, Version=4.23.0.0, Culture=neutral, PublicKeyToken=8fe83dea738b45b7]
   EPiServer.Framework.Initialization.InitializationEngine.InitializeModules() +774
   EPiServer.Framework.Initialization.InitializationEngine.ExecuteTransition(Boolean continueTransitions) +194
   EPiServer.Framework.Initialization.InitializationModule.EngineExecute(HostType hostType, Action`1 engineAction) +861
   EPiServer.Framework.Initialization.InitializationModule.FrameworkInitialization(HostType hostType) +185
   EPiServer.Global..ctor() +42
   ASP.global_asax..ctor() +9
#202988
Apr 05, 2019 9:06
Vote:
 

Above issue "name or connection string" is sorted, Just install Latest DBLocalization Provider.

https://github.com/valdisiljuconoks/localization-provider-epi/commit/e840f0cb7fcbf5101b11a235be0ebed37bd509ac

The performance issue isn't solved, we are having this issue about after 7 days after a recycle. we don't recycle each night. I am going to raise this with support.

/K

#203422
Apr 23, 2019 12:04
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.
* 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.