7

I am getting painfully slow performance when using the experience editor in sitecore 9.. I have several modules added to the page (inside nested dynamic placeholders), and any change seems to take an age.. Every time I add a module, or save, it can take several minutes to reload..

I've seen Kam's post https://kamsar.net/index.php/2015/02/sitecore-8-experience-editor-performance-optimization/ but it applies to sitecore 8 and is more about start up, instead of actual usage of the experience editor..

  • You can try not to open the page in Experience editor instead add the modules with presentation from the content editor. You have option of preview in content editor which shows your changes on the page with less load. – Sitecore Sam Mar 6 '18 at 16:46
  • 1
    Not really an option, as I have nested dynamic placeholders, and as such, an editor won't know the placeholder ID to add new components too.. – mp3duck Mar 6 '18 at 16:49
  • You you run debug mode on the page in Experience Editor to see any offending renderings? And looked at the Developer Tools in the browser to check things like long running network calls, performance etc? – jammykam Mar 6 '18 at 16:52
  • I'll check the network tab for anything obvious. Can you let me know how I enable debug mode for experience editor please? – mp3duck Mar 6 '18 at 16:54
  • 2
    check this screencast.com/t/7rSqxtoJzMH – Sitecore Sam Mar 6 '18 at 16:57
3

I personally prefer looking at doing performance improvements holistically on the entire Content Management instance. As there are most likely multiple content authors using the CMS all at the same time, it is important to ensure that everything is as optimised as it can be.

  1. Reset editor profiles every time they login https://community.sitecore.net/technical_blogs/b/sitecorejohn_blog/posts/optimize-performance-on-login-to-the-sitecore-asp-net-cms
  2. Do not show standard fields by default.
  3. Hide hidden / bucket items by default in content editor
  4. No background wallpaper
  5. Put a cdn in front of content authoring to cache all JS / CSS, and images "Akamai CDN with Sitecore Content Management Instance" by Vincent Lui https://link.medium.com/7LPpnzSFNZ
  6. Disable validations and only enable them during workflow and publish
  7. Take a look at your waterfall, see which toolbar / ribbon is taking the longest to load, disable that function if not necessary
  8. May want to consider using publishing service 4.1 if your sitecore version supports it
  9. Throw more hardware on it, if possible, scale out after implementing 7 and 8
  10. Upgrade to 9.2 and use a dedicated indexing role
  11. Ensure your code is fully optimised
  12. Implement caching even in experience editor on objects if not already done
  13. Run profiler against your code and see if there are any code smells
  14. How efficient are your search queries ?
  15. Disable content testing if its not used
  16. Ensure content authors do not use incognito / private browser mode. For some unknown reason, they all think running web apps on incognito mode fixes everything
  17. My Colleague found the following setting, which should be set to false.

    <!-- Prevent Sitecore loading extra level of items when expanding tree in Content Editor -->
      <setting name="ContentEditor.RenderCollapsedSections" value="false" />
    
2

Disable Suggested Tests. We improved experience editor performance drastically disabling the same. Below two options suggested by Sitecore.

  1. Deny Read access to the item /sitecore/content/Applications/WebEdit/Ribbons/WebEdit/Optimization/Lists/Suggested Tests in core database. As a result, the button remains working for admin users.

  2. Archive the item /sitecore/content/Applications/WebEdit/Ribbons/WebEdit/Optimization/Lists/Suggested Tests in core database. This approach removes the button completely for all users.

0

Did you consider restricting access to the specific roles who do not need access to optimization tab?

In you network monitor, if you see Optimization.SuggestedTests.Count - taking around 10 seconds. You can create separate roles and restrict read access to optimization tab. This significantly improves performance.

You can read more on optimization and what you're turning off in the following link. https://doc.sitecore.com/users/91/sitecore-experience-platform/en/experience-optimization.html

Cheers

0

In addition to the suggestions here you could also look at the following:

  1. Remove Un-needed components from showing in experience editor (e.g perhaps navigation/GTM/Meta components etc) - I've blogged about how to do that here: https://www.flux-digital.com/blog/hiding-unneeded-components-to-speed-up-sitecore-experience-editor/
  2. Disable the my items count (items that are locked by the current user). More info and options on this here: Improving the performance of MyItems Count in Sitecore 8.1

  3. Turn off Security checking on tree nodes. This has one downside that means content editors will see parent items in the tree they shouldn't see and get a error message saying they don't have access if they click on it.

<setting name="ContentEditor.CheckSecurityOnTreeNodes">
    <patch:attribute name="value">false</patch:attribute>
</setting>
  1. Turn off Checking for children on tree nodes. This has one downside that means content editors will see an arrow for child items in the tree (even if there are no child items) then if they click on it it will disappear.
<setting name="ContentEditor.CheckHasChildrenOnTreeNodes">
<patch:attribute name="value">false</patch:attribute>
</setting>

Some of these settings only affect content editor but if content editor is slow then it will likely impact the CM performance in general and affect experience editor too.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.