Please Standby: Webcast Will Begin Shortly
Unable to listen via your speakers? Dial in:Toll Free: (866) 901-6455Access Code: 151-250-142
International: Click telephone in audio section,then click additional numbers
Optimizing SharePoint Performance: On-Premise or Cloud
##dynatraceJoel Oleson, SharePoint Expert, Konica MinoltaAndreas Grabner, Performance Advocate, DynatraceTuesday, February 9th 2016SharePoint Performance & Optimization
Joel OlesonSharePoint JoelBusiness Development DirectorKonica Minolta Business Solutions@joelolesonwww.collabshow.com
Holistic Approach to PerformanceSharePoint Performance StackConsiderations for Physical to VirtualStrategies for SharePoint in AzurePerformance in Office 365
##DynatraceNetwork - LAN/WAN including Firewall & Load BalancersDirectory / AuthenticationDesktop OS, Memory, Drivers, BrowserSharePoint (server)Web Front EndApp Servers / Search & CrawlingSQL ServersHolistic Approach
##DynatraceUsing the OSI model to Troubleshoot SharePointLayersFunctionExampleApplication (7)End User ApplicationSharePointPresentation (6)Makes it viewableHTTP/SSession (5)Connection between hostsNetBIOSTransport (4)Responsible for transport protocolTCP / UDPNetwork (3)Reads IP RoutingCPU, Disk, Memory Data Link (2)Reads Mac AddressSwitchesPhysical (1)Network Cards/Network ThroughputServer to Server communication & Server to Client
##DynatraceLayersFunctionExampleCustom CodeClient and Server Side SolutionsForms, Web PartsResponsive UIThird Party Tools & AppsClient, Server, and Cloud AppsSolutions, Workflows, Integration, Web partsSharePoint Application.NET App - SharePoint Services + CachingMS SharePointIIS & Services on ServerW3SVC, Windows Services, AntivirusIIS, Timer jobs, Profile & IndexingWindows ServerOperating System + Windows + Local appsTransportProtocolHTTP/ Ajax / JSONNetworkNetwork Cards/Network ThroughputServer to Client & Server to Server communicationPhysicalPhysical HardwareCPU, Disk, Memory
SharePoint Key Layers
End to End Performance
Network HopsWAN or LAN
##DynatraceWhat are the key considerations of moving from a physical server farm to virtual environment? What can I really benefit from with virtual servers?Performance Considerations Physical to Virtual
##DynatraceUnder utilized resourcesIts cheaper (look at licensing its beneficial)Quicker recovery. Rollback is a snap!Better management control You still own the assetsBelieve it or not youre in minority if youre not (more than 60% of on premises environments are already virtual)!Why Virtualize?
##DynatraceRecommendation: Use dedicated disks for SQLDont skimp on memory of WFEsDont forget Disaster Recovery Fault tolerance can give a false sense of security.Consider snapshots Careful of backup performanceAntivirus is often a performance hog. Exclude temp, scanning data and log drives.
Virtual Server Planning for SharePoint
##DynatraceWe need support for third party tools for business integration, but why not save on costs by using MS resources what are my options? What are my disaster recovery options?SharePoint Migration to Azure Cloud
##DynatraceHosted secondary datacenterUse Azure instead of investing in a secondary datacenter in a different region.Lower-cost disaster-recovery environments- cold standby, warm standby, or hot standbyMore elastic platformIn the event of a disaster, easily scale-out your recovery SharePoint farm to meet load requirements. Azure AD Flexible identities and federation options.Add SharePoint functionality not available in Office 365such as deep reporting and web analytics.App farms to support Office 365 or on-premises environmentsQuick build, test, and host appsin Azure to support both on-premises and cloud environments.Why Azure?
Office 365 Layers
##DynatraceWe are going to Office 365 Am I powerless?Is there any way to optimize or monitor?Performance Considerations for Office 365
##DynatraceIts not about the usual suspects (Not CPU/Memory/Disk)Corporate to Cloud - Bandwidth, Bandwidth, Bandwidth Upload/DownloadMigration is first key consideration** Looking at both Azure and Office 365 as part of the dev strategy.Performance Considerations for SharePoint Migration to Office 365
##DynatraceNon optimized ListsACLs - Too many individual permissionsLack of list indexes (SharePoint 2016 can manage automatically)Content Query Web part (common in older SP)Slow, Large lists with millions of items in non optimized views.RecommendationsUse permissions inheritance when possibleUse views or folders when individual permissions for a set of files are required.Everywhere SharePoint Bottlenecks
##DynatraceSharePoint Performance Checks
Andreas GrabnerDynatrace Performance Advocate@grabnerandihttp://blog.dynatrace.com
Before Change - 7am
On Go Live Date with the new architecture everything looked good at 7AM where not many folks were yet online!23
After Change - 12pm
By noon when the real traffic started to come in the picture was completely different. User Experience across the globe was bad. Response Time jumped from 2.5 to 25s and bounce rate trippled from 20% to 60%24
Analyze Single VisitorsUnderstand their Behavior: How did User X end up here?
879! (+600) SQL Queries8! Missing CSS & JS Files340! Calls to GetItemById11s! (x10)Load Time800kB (x2) PayloadRoot Cause Analysis
Another example from a SharePoint app that allows production deployments by SharePoint Admins. A simply change directly in production can have very negative impacts, e.g: deploying a new WebPart with a Data-Driven Performance Hotspot26
WebParts that had issuesInsight where WebPart is actually used!Code Level Insight
Do we have enough WORKER THREADS on the Web Server?Sanity Check on BANDWIDTH requirements per RequestCan we handle the LOAD and BANDWIDTH requirements?Resource Analysis
SharePoint Health Check Tips
#1: End User Health: Happy or Frustrated? Desktop or Mobile?#3: System Health: CPU, Memory, Process Distribution, #2: Site Health: Any Errors? Any Performance Issues?#4: IIS Health: Bandwidth? Threads? HTTP 4xx, 5xx?#5: AppPool Health: Memory, CPU, GC, Exceptions, Logs #6: SQL & Service Health: # Roundtrips, Data Amount, CPU, Memory, I/O#7: Web Parts: 3rd Party & Custom. Bad Coding and Bad Deployments lead to crashes
SLAs from and for your DIFFERENT Office LOCATIONS? Any global issues at particular times during the day?
Pro-Active AnalysisAutomatic Problem Detection
#1: Real User Monitoringhttp://bit.ly/dtsharepointfastpack#2: Synthetic Monitoringhttp://bit.ly/1UHRbpp
##dynatraceWant to learn more?Get Tools: http://bit.ly/dtsharepointfastpackYouTube Tutorial: youtu.be/ImivHaDq0OA
Contact Me: email@example.comFollow Me: @grabnerandiRead More: blog.dynatrace.comwww.dynatrace.com/en/sharepoint