1
votes

In our QA environment and prod environment we have the same deployment (But different server env.). In PROD environment, when I log into Page editor, page editor ribbon keeps loading for 4 mins. Once it's loaded it works fine. But if I navigate to a different page again the ribbon gets loaded for 4mins.

In QA server things are fine, these deployments are identical to each other. Just wondering why it's slow in PROD env.

Any ideas?

Sitecore version 6.6

Logs says,

ManagedPoolThread #16 08:51:27 INFO  Job ended: AllClassifieds.Web.Extensions.Agents.WebPublisher (units processed: )
1372 08:51:54 ERROR A potentially dangerous Request.Form value was detected from the client (leftpane_0$hdnFSClientState="<fsclientstate></fsc...").
Exception: System.Web.HttpRequestValidationException
Message: A potentially dangerous Request.Form value was detected from the client (leftpane_0$hdnFSClientState="<fsclientstate></fsc...").
Source: System.Web
   at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)
   at System.Web.HttpRequest.ValidateHttpValueCollection(HttpValueCollection collection, RequestValidationSource requestCollection)
   at System.Web.HttpRequest.get_Form()
   at Sitecore.Pipelines.PreprocessRequest.SuppressFormValidation.Process(PreprocessRequestArgs args)

This error repeats for several minutes until page editor gets loaded.

2
Do you see any log entries with long running operations? Link this: WARN Long running operation: getChromeData pipeline - Jens Mikkelsen

2 Answers

8
votes

I don't think that the performance problem is related to the validation exception you've included in your question. I think (but it's only the guess) that the reason between the speed of QA and PROD environments is the number of items in the PROD environment.

From my experience I know that sometimes there are issues with My Items ribbon button in Page Editor. It displays the number of items locked to the current user and for every ribbon reload it makes another query to get all this items.

enter image description here

Maybe try to remove this button (log in to core database and look for /sitecore/content/Applications/WebEdit/Ribbons/WebEdit/Page Editor/Edit/My Items) and see if this helps.

If not, I do recommend using some profiling tool like dotTrace Performance (you can download 10-day free trial) and see if it can find the problematic place.

1
votes

Yes, two years later and still relevant.

In Sc8 rev 4 at least.

WebEdit.ShowNumberOfLockedItemsOnButton isn't used anymore. It still exists in the code, but there are no usages of it. It doesn't affect this problem when set.

So another solution is to set amountOfLockedItems to 0 and comment out:

var amountOfLockedItems = context.app.canExecute("ExperienceEditor.MyItems.Count", context.currentContext);

In MyItems.js. Or as said, just hide/erase the button on the core database.

I guess Sitecore doesn't want to run this query on index as it would be too inaccurate for the users, but maybe they could optimize the database query a bit? We have over 9000, sorry 200000 items and it takes a whole minute to find all the locked items for the user.