3

Recently, we had an issue where our Core database was experiencing maxed out DTU consumption during publishing. The Core database is set as the Links Database as well. We were able to identify locks on the Links table in the Core database.

  • Would toggling the setting LinkDatabase.UpdateDuringPublish to false help alleviate some of the load during publish operations? (This setting is true by default)
  • What does this setting do?

The CD servers do not have any reliance on the Links database.

Sitecore 8.2u3

1 Answer 1

2

What does this setting do?

The following Sitecore.Links.ItemEventHandlers methods check this setting (these are referenced from the corresponding event, e.g. item:copied):

  • OnItemCopied
  • OnItemDeleted
  • OnItemSaved
  • OnItemVersionRemoved

In all cases, if Sitecore is mid-publish, these methods immediately exit and perform no action. I found no evidence of any additional day-to-day operations where the links database is updated (other than the rebuild action from control panel).

What do you mean by "mid-publish"?

Tracing this method up the call stack reveals that it's surprisingly simple- it merely checks if the Context.Site is "publisher".

Would toggling the setting LinkDatabase.UpdateDuringPublish to false help alleviate some of the load during publish operations?

Toggling this setting to false will prevent all links database updates during publishing. In that case, yes, it will reduce the load on the database.

Because I was curious about real-world impact, I ran some tests locally to measure whether toggled true or false, it would speed up or slow down publishing. Unfortunately, my tests came up inconclusive. In other words, toggling the setting did not positively or negatively affect how long it took for the publish operation to complete.

Conclusion

If you are not leveraging the links database within your application code, there is no harm in toggling this to false. But it likely won't make a significant difference in performance.

4
  • I would be very hesitant to disable updating the links database, as there are sometimes surprising things that make use of it. For instance, the third-party URL Rewrite module which many people use uses it to find rewrite folders. Just because YOUR application code doesn't use it, doesn't mean you don't need it to be up to date. Oct 11, 2019 at 21:28
  • Oh, I see you were answering your own question, so I gather you are pretty confident that you are not using it. Still, my comment stands for other people reading this answer. Unless there are good performance gains, I think this would be higher risk than implied unless people are very well versed in Sitecore and all of the code/modules they are using. Oct 11, 2019 at 21:33
  • Yep. Not worth a blog post and no concise answer available until I researched it today.
    – jrap
    Oct 11, 2019 at 21:35
  • To be clear though- this isn’t disabling updating. Updates still occur during normal content editor activity and when rebuilding the links DB via control panel. (Or as we do, on a weekly, scheduled task basis)
    – jrap
    Oct 11, 2019 at 21:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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