Managed Navigation causes poor performance?

Hi together,

customer is using SharePoint 2013 Managed Navigation in an Intranet Portal solution. The Navigation Term Set contains about 280 items with up to four levels deep. Site load times are very poor, no matter how long you've already been navigating within the portal. Every page still loads very slow.

So, what we can see from the Developer Dashboard is as follows:

  • hundreds of SQL calls to proc_GetTpWebMetaDataAndListMetaData and proc_GetWebMetainfo for every site request
  • site overall load time varies from 5 to more than 10 seconds

What is really happening here? How can we speed things up by configuration? Or is this just by design and so to say Managed Navigation is not intended for using it with so many terms? What about caching - shouldn't the navigation items somehow be cached? We've also checked and configured object cache accounts and Distributed Cache...

Let me know if you need more information on our setup. Any help is really appreciated for I've to admit I never faced such intensive use of Managed Navigation before.

THX
Michael


  • Edited by michael.olb Thursday, August 27, 2015 11:15 AM
August 27th, 2015 11:15am

Hi Michael- see the first link for a solution that seems to be what you're experiencing (second from last answer). Use the second link for more troubleshooting if that doesn't fix your issue.

http://sharepoint.stackexchange.com/questions/23502/sharepoint-takes-15-seconds-to-load-page

http://apmblog.dynatrace.com/2015/06/09/the-5-most-common-sharepoint-performance-insights-you-can-take-action-on-now/

Free Windows Admin Tool Kit Click here and download it now
August 27th, 2015 3:35pm

Thanks for your answer!

In general I'm aware of how to troubleshoot SharePoint performance issues. However, the second link is very useful to know and also had some new information for me. In fact, the first does not apply at all to our situation.

We have the situation, that there are lots of SQL stored procedure calls at every page request. I assume that there are two stored procedure calls for every metadata term that is used in the navigation. Is this behaviour expected? Isn't there a caching mechanism at all?

Thanks in advance!

Michael

August 27th, 2015 4:18pm

I have been involved in the deployment of numerous SharePoint farms with sites that use Managed Navigation and have rarely experienced any performance issues with the navigation with as many items as you have so I wouldn't say the scenario you are describing is by design.

Lots of SQL Server calls are normal for any SharePoint request. How many hundreds are we talking about? In theory a lot of this should be served up by a cache and shouldn't be requiring additional SQL queries. Ensure the Distributed Cache service is operating correctly and you are running AppFabric 1.1 CU4 or later on all servers in the farm with the backgroundGC option set (disclaimer: this is a link to my personal blog). Older versions of AppFabric are known to cause delays in page loads (5-15 seconds) due to the way garbage collection is handled in these builds.

If this doesn't get you anywhere, do consider posting this in the Partner forums or opening a support ticket.


Free Windows Admin Tool Kit Click here and download it now
August 27th, 2015 4:24pm

Thanks again!

Yes, I've verified the DC today, and it actually is working. However, I'm also aware of the AppFabric cumulative updates. In this particular farm I'm pretty sure no additional AppFabric cumulative updates are applied so this will probably be one of my next steps. I've done this several times (including the garbage collector tweak coming with CU3) for other customers but this farm is also quite new to me and installing AppFabric cumulative updates is not part of my very first steps. Well, I'm gonna pay more attention to that... ;-)

However, I can't do that before next Wednesday, till then let me know if you've any additional ideas. I will probably also add some screens of the developer dashboard to make clear with how many SQL calls we're dealing with and if that's still "normal". I don't think so ;-)

Thanks all - gonna let you know about the progress...

Michael


  • Edited by michael.olb Wednesday, September 02, 2015 7:46 AM
August 27th, 2015 4:57pm

Hi all! Before actually applying AppFabric CU6 I'd like to share some more information from Developer Dashboard with you. There you'll see what all these SQL requests are all about.

Of course, pure SQL performance is always a topic, but I don't think it's the root cause in this case, it must be the simple amount of SQL requests with every page hit. This can't be the expected behavior.

Let me know if you have any thoughts on this, I will let you know what happens after applying cumulative update for AppFabric.

Regards
Michael


  • Edited by michael.olb Wednesday, September 02, 2015 11:21 AM
Free Windows Admin Tool Kit Click here and download it now
September 2nd, 2015 11:21am

Well, seems I can give the all-clear. The root cause of this behavior obviously is not the Managed Navigation itself, but a custom master page with a custom control, that queries every term in the navigation term set at every page hit for custom properties. These custom properties are somehow "misused" (not to say "raped") to enrich a function that is missing in oob Managed Navigation features (and too often demanded): security trimming...

So, it's developers' turn now... Let you know if and maybe how we will solve this (custom caching logic maybe). However, will probably take some time... Thanks for your contributions...

 
September 4th, 2015 9:10am

Huh, don't know why I didn't figure that out ;)

Thanks for letting us know.

Free Windows Admin Tool Kit Click here and download it now
September 4th, 2015 9:55am

"Sorry, my fault, wasn't thinking about performance implications in real world scenarios" said no developer never...

...instead "On my machine it's running (fast)" ;-) :-D

I'll keep you updated ^^

September 4th, 2015 11:02am

Glad you have a sense of humor!
Free Windows Admin Tool Kit Click here and download it now
September 4th, 2015 11:04am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics