The effect of using Managed Navigation instead of Structural on SharePoint Online

SharePoint_aint_broken

Have you ever noticed that your SharePoint site just gets slower and slower? That’s probably because the performance of Structural Navigation is absolutely horrible, especially vs. Managed Navigation. This blog post includes our findings about the issue, and I also include some explanation of the reasons behind the difference and a simple comparison to Search-based navigation.

Structural Navigation

The first option would be structural navigation, which is more or less the traditional, easy solution. Without anything else done, this is enabled as the default option on classic SharePoint sites.

  • By far the most customizable and tweakable option
  • Easy to edit for editors/admins
  • Good performance on-premises, as long as WFEs are powerful, site structure isn’t changed periodically, caching is used and master page hasn’t been modified to include riculous amount of levels
  • Abysmal performance on O365, if there are over 10 items in the navigation
  • Security trimming is automatic

Managed Navigation

Second option would be managed navigation, which is widely used, and not horribly difficult, but does require extra configuration.

  • Security trimming not available
    • Exception: For SP2013 it’s available for term-driven page links
  • Editing experience is more confusing, but at least it’s using the standard termset editor
  • Not updated automatically (unless you’re using solution like Valo)
  • Performance
    • on-premises: good
    • O365: fine (beats structural anytime there’s over 10 links)

Search-based Navigation

Third option is kind of obscure. Search-based navigation is really not used that much, and for a good reason.

  • (Kind of) the recommended solution by Microsoft
  • Performance is good both on-premises and O365
  • Security trimming available
  • Confusing editor experience. I don’t know anyone who likes it!
  • Bad customizability 

Performance comparison

See below for a real-world comparisons between the 2 actually used options – structural and managed navigation!

Performance difference (measured in SPRequestDuration) between structural navigation and managed navigation
 StructuralManaged
Test numberDozens of sitesInheritance cut, limited amount of​​ sitesFull-blown navigation
15,773,231,62
23,433,131,29
36,232,481,65
45,252,550,92
Average5,172,84751,37

(Numbers are from a customer’s production environment – thanks for the anonymous contributor!)

So, why is Structural Navigation so slow on SharePoint Online?

The difference comes from Structural Navigation being awfully slow in SharePoint Online. That might strike some readers as weird, since its performance in on-premises environments is typically decent.

The issue is caused by the in-memory navigation node cache solution Structural Navigation is based on. This cache is located on WFE servers – and in an on-premises environment, you typically have only a few servers that you might land on. With any luck, those servers already have your navigation nodes cached, as you’ve probably visited them before. In SharePoint Online there are thousands of WFE servers that serve any given tenant, and your request might end up on any of them. In practice, that means, that the server probably doesn’t have your navigation nodes cached, and it’ll have to rebuild the cache for each request. As a result, this causes huge load times.

Sean McDonough has an awesome article with an equally awesome graphic about this – you might want to check them out, if the topic interests you!

Sources and references

  • This data is from Valo deployments. www.valointranet.com
  • https://support.office.com/en-us/article/Navigation-options-for-SharePoint-Online-adb92b80-b342-4ecb-99a1-da2a2b4782eb
  • https://sharepointinterface.com/2016/01/31/caching-you-aint-no-friend-of-mine/
The following two tabs change content below.
Antti Koskela is a proud digital native nomadic millenial full stack developer (is that enough funny buzzwords? That's definitely enough funny buzzwords!), who works as a Solutions Architect for Valo Intranet, the product that will make you fall in love with your intranet. Working with the global partner network, he's responsible for the success of Valo deployments happening all around the world. He's been a developer from 2004 (starting with PHP and Java), and he's been bending and twisting SharePoint into different shapes since MOSS. Nowadays he's not only working on SharePoint, but also on .NET projects, Azure, Office 365 and a lot of other stuff.This is his personal professional (professional, but definitely personal) blog.

Leave a Reply

Your email address will not be published. Required fields are marked *