1 #dynatrace
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
2 #Dynatrace
Joel Oleson, SharePoint Expert, Konica MinoltaAndreas Grabner, Performance Advocate, DynatraceTuesday, February 9th 2016
SharePoint Performance & Optimization
3 #Dynatrace
Joel OlesonSharePoint JoelBusiness Development DirectorKonica Minolta Business [email protected]
4 #Dynatrace
• Holistic Approach to Performance…• SharePoint Performance Stack• Considerations for Physical to Virtual• Strategies for SharePoint in Azure• Performance in Office 365
Outline
5 #Dynatrace
Holistic Approach
6 #Dynatrace
• Network - LAN/WAN including Firewall & Load Balancers
• Directory / Authentication• Desktop – OS, Memory, Drivers, Browser• SharePoint (server)
• Web Front End• App Servers / Search & Crawling• SQL Servers
Holistic Approach
7 #Dynatrace
Using the OSI model to Troubleshoot SharePointLayers Function ExampleApplication (7) End User Application SharePoint
Presentation (6) Makes it viewable HTTP/S
Session (5) Connection between hosts NetBIOS
Transport (4) Responsible for transport protocol TCP / UDP
Network (3) Reads IP Routing CPU, Disk, Memory
Data Link (2) Reads Mac Address Switches
Physical (1) Network Cards/Network Throughput
Server to Server communication & Server to Client
8 #Dynatrace
Layers Function ExampleCustom Code Client and Server Side Solutions Forms, Web Parts
Responsive UI
Third Party Tools & Apps Client, Server, and Cloud Apps Solutions, Workflows, Integration, Web parts
SharePoint Application .NET App - SharePoint Services + Caching
MS SharePoint
IIS & Services on Server W3SVC, Windows Services, Antivirus
IIS, Timer jobs, Profile & Indexing
Windows Server Operating System + Windows + Local apps
Transport Protocol HTTP/ Ajax / JSON
Network Network Cards/Network Throughput
Server to Client & Server to Server communication
Physical Physical Hardware CPU, Disk, Memory
SharePoint Key Layers
9 #Dynatrace
End to End Performance
Client Server(s)
Network HopsWAN or LAN
10 #Dynatrace
• What 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
11 #Dynatrace
• Under utilized resources• It’s cheaper… (look at licensing… it’s beneficial)• Quicker recovery. Rollback is a snap!• Better management control – You still own the assets• Believe it or not you’re in minority if you’re not
(more than 60% of on premises environments are already virtual)!
Why Virtualize?
12 #Dynatrace
13 #Dynatrace
• Recommendation: Use dedicated disks for SQL• Don’t skimp on memory of WFEs• Don’t forget Disaster Recovery – Fault tolerance can give a false sense of security.
• Consider snapshots… Careful of backup performance• Antivirus is often a performance hog. Exclude temp, scanning data and log drives.
Virtual Server Planning for SharePoint
14 #Dynatrace
15 #Dynatrace
We 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
16 #Dynatrace
• Hosted secondary datacenter Use Azure instead of investing in a secondary datacenter in a different region.
• Lower-cost disaster-recovery environments - cold standby, warm standby, or hot standby
• More elastic platform In 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 365 such
as deep reporting and web analytics.• App farms to support Office 365 or on-premises environments• Quick build, test, and host apps in Azure to support both on-
premises and cloud environments.
Why Azure?
17 #Dynatrace
Infrastructure
18 #Dynatrace
LAYER Function Example
Custom Code Client and Web Services Solutions
HTML5, JavaScript, Forms,Webparts, Responsive UI
Third Party Tool Apps Workflows, Integration, Webparts
SharePoint Application MS Controlled Don’t Call IT
Services on Server MS Controlled Support Can’t help
Windows Server MS Controlled You don’t have any influence
Network
Hardware MS Controlled Predetermined by MS
Office 365 Layers
19 #Dynatrace
• We are going to Office 365… Am I powerless?• Is there any way to optimize or monitor?
Performance Considerations for Office 365
20 #Dynatrace
• It’s not about the usual suspects… (Not CPU/Memory/Disk)
• Corporate to Cloud - Bandwidth, Bandwidth, Bandwidth… Upload/Download
• Migration 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
21 #Dynatrace
• Non optimized Lists• ACLs - Too many individual permissions• Lack 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.
• Recommendations• Use permissions inheritance when possible• Use views or folders when individual permissions for a set of
files are required.
Everywhere SharePoint Bottlenecks
22 #dynatrace
SharePoint Performance ChecksAndreas GrabnerDynatrace Performance Advocate@grabnerandihttp://blog.dynatrace.com
Before Change - 7am
After Change - 12pm
User AnalysisAnalyze Single
Visitors
Understand their Behavior: How did User X end up here?
879! (+600) SQL Queries
8! Missing CSS & JS Files
340! Calls to GetItemById
11s! (x10)Load Time800kB (x2) Payload
Root Cause Analysis
WebParts that had issues
Insight where WebPart is actually used!
Code Level Insight
Do we have enough WORKER THREADS on the Web Server?
Sanity Check on BANDWIDTH requirements per Request
Can 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
Pro-Active Analysis
SLA’s from and for your DIFFERENT Office LOCATIONS?
Any global issues at particular times during the day?
Pro-Active AnalysisAutomatic Problem
Detection
32 #dynatrace
#1: Real User Monitoringhttp://bit.ly/dtsharepointfastpack
#2: Synthetic Monitoringhttp://bit.ly/1UHRbpp
33 #dynatrace
Downloadhttp://bit.ly/1QQrIJp
34 #dynatrace
Want to learn more?Get Tools: http://bit.ly/dtsharepointfastpackYouTube Tutorial: youtu.be/ImivHaDq0OA
Contact Me: [email protected] Me: @grabnerandiRead More: blog.dynatrace.comwww.dynatrace.com/en/sharepoint
Recommended