patch

Sitecore 7.2 – Some lessons-learned with multiple instances

There is a Sitecore 7.2 project on our table. The previous vendor did not care about the multiple instances so the Sitecore solution worked properly for single instance only (Content Management and Content Delivery server roles are on the same Sitecore instance). Once the client has changed the hosting provider, the multi- instance is available (CM and CD server roles are on separate servers). There would have been some major issues on CD such as:

  • Sitecore HTML cache is not cleared after publishing
  • custom indexes are not rebuilt after publishing

No worries, ScalabilitySettings.config + “publish:end:remote” event and OnPublishEndAsync are in place for solving those. Fortunately, the rest are solved by making code changes.

However, we are very soon getting experience with the high CPU utilization consistently. Per our experience, most likely it’s related to EventQueue table (normally, it will take Sitecore an extremely long time to query that table if it’s huge somehow).

hqdefault

Bingo! Turns out they’re Sitecore bugs of version 7.2. There is a great article for solving our high CPU utilization problem and we are successful with this Sitecore patch:

Sitecore Content Search may cause performance issues due of excessive updates of the EventQueue table

By the way, we should reduce DaysToKeep of CleanupPublishQueue built-in scheduled task of Sitecore (Note: Sitecore keeps 30 days of publish queue by default) once there have been many publishing operations per day (Ex: migration tasks publish around 30K items daily)

<agent type=”Sitecore.Tasks.CleanupPublishQueue, Sitecore.Kernel” method=”Run” interval=”04:00:00″>
        <DaysToKeep>1</DaysToKeep>
</agent>

Some other Sitecore patches should be helpful as well:
  1. Item save operation leads to the following error message in the log files of remote instances: “ERROR Exception while handling event Sitecore.Data.Eventing.Remote.SavedItemRemoteEvent”
  2. Full search index rebuild may be’initiated after each item update as we’re using OnPublishEndAsynchronous strategy
  3. Cleanup Event Queue keeps too much data so we can clean up events in minutes (Note: by default, Sitecore 7.2 only allow us to clean up events in days)

<agent type=”Sitecore.Support.Tasks.CleanupEventQueue, Sitecore.Support.392673″ method=”Run” interval=”01:00:00″ patch:source=”Sitecore.Support.392673.config”>
        <param desc=”MinutesToKeep”>60</param>
</agent>

Happy Sitecore lessons-learned!
ryan-graybill-388794-unsplash
Photo by Ryan Graybill on Unsplash
Advertisement

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.