SlideShare ist ein Scribd-Unternehmen logo
1 von 55
0
Key Performance Sanity Checks
Andreas Grabner (@grabnerandi)
http://dynatrace.com/en/sharepoint
1
Welcome to SharePoint Saturday Houston
• Please turn off all electronic devices or set them to vibrate
• If you must take a phone call, please do so in the hall so as not
to disturb others
• Special thanks to our Title Sponsor, ProSymmetry
Thank you for being a part of the
5th Annual SharePoint Saturday
for the greater Houston area!
2
Thanks to all our Sponsors!
3
Information
• Speaker presentation slides should be available
from the SPSHOU website within a week or so
• The Houston SharePoint User Group will be
having it’s next meeting Wednesday April 15th.
Please join us at www.h-spug.org
4
That’s why I ended up talking at HSPS
5
4
6
What are these 4 Ideas?
1. 7 Steps to check SharePoint Health
2. Avoid common Deployment Mistakes
3. Analyze SharePoint Usage
4. Which Pages are Slow and Why?
Bonus: Real Life Troubleshooting Example
7
7 Step SharePoint Health Check
#1: End User Health #3: System Health#2: Site Health
#4: IIS Health #5: AppPool Health #6: SQL & Service Health
#7: Web Parts
8
Check #1: End User Health
#1: Geo Location
#2: User
Environment
#3: Errors
9
Check #2: Site Health
#1: Load #2: Failures
#3:
Performance
#4:
Infrastructure
#5: End User
Index
10
Check #3: System Host Health
#1: CPU & Memory
#3: Process Check: Need to
RE-DEPLOY?
#2: I/O: Static & Logs
11
Check #4: IIS Health
#1: Threads
#2: Throughput
#3: Page Size
12
Check #5: AppPool Health
#1: Memory #2: Garbage Collection
#3: Worker Threads
13
Check #6: SQL & Service Health
#2: Connectivity Issues
#1: Excessive SQL Roundtrips
14
Check #7: Web Parts
#1: Performance #2: Deployment
#3: Bad Coding: 211 SQL!
15
AVOID COMMON DEPLOYMENT MISTAKES
Connectivity, Missing Files, Permission, …
16
Who’s talking with whom?
How many Web Sites are
actually running?
How many requests make it
to SharePoint’s AppPool?
Do we call any external
services
Is our SQL Server
overloaded?
17
Any Deployment Mistakes? HTTP 5xx, 4xx?
Which errors are thrown by which page?
Which Errors impact
how many users?
18
Any Bad WebPart?
WebParts that can’t
be loaded!
Here is the page that
uses this WebPart
19
Connectivity Issues between Services?
Watch out for Connection
Exceptions!
This is the page that
tries to connect to
that backend service!
Root Cause:
Configuration Issue
20
Authentication Issues?
How many users have
authentication issues?
Which pages are users
trying to access?
21
User Permission Problems?
#1: Permission Issue Detected!
#2: Related to
SocialNavigationControl
#3: Here is the
problematic page
22
Missing Lists?
List not found Exception!
Here is the page that
references this list!
23
Missing Columns?
Somebody deleted a
column?
Here is the page that
shows that column!
24
Bad Filter Settings?
Bad filter settings
result in Exceptions
Here is the page that
uses that bad filter!
25
ANALYZE SHAREPOINT USAGE
Who is using What, How from Where?
26
How are people navigating through SharePoint?
Which browsers do
people use?
Where are they from?
Which Office?
How do they navigate
through the site?
How fast/slow are
these pages for
them?
Maybe impacted by
bad network
connectivity?
27
Which Lists/Views are Used?
How often used? How fast/slow? Time spent in SQL Server?
Same information
interesting per View
High Failure Rate?
28
Which Web Parts are used?
29
WHICH PAGES ARE SLOW
How to identify them?
30
What are the top slowest end user pages?
How Fast/Slow for
the end user?
How much of that
is Server Time?
31
What makes them slow?
How do these
pages load?
Lots of JavaScript that
loads slow? Maybe
cache on a Proxy/CDN?
32
REASONS FOR SLOW PAGES
Client and Server Side
33
Many reasons for bad performance
• Frontend
– Overloaded and complex Pages
– Too much JavaScript slows down older browsers
– Bad content caching
• Backend
– Bad/Too Much Database Access
– Bad Coding of custom code
– Overhead due to configuration issues and resulting logs/exceptions
– High Memory Consumption
– Wrong Deployment Configurations (e.g: worker threads, …)
34
Overloaded Pages
2.6MB for Home Page !
Don’t overload with too
much information!
35
Database Impact: too many requests
211! SQLs per
Page Request
36
Database Impact: Same SQLSame SQL called many
times per page!
37
Database Impact: Whom to blame?
• Overloaded Pages with too many Web Parts
• Badly implemented custom web parts
• 3rd party WebParts or Controls
38
Bad Coding of Custom Web Parts - #1
ALL List Items are retrieved from the Database
DO NOT
int noOfItems = SPContext.Current.List.Items.Count;
Item Count is kept redundant in the AllUserData table and also kept in memory
DO
int noOfItems = SPContext.Current.List.ItemCount;
39
Bad Coding of Custom Web Parts - #2
DO NOT
for (int itemIx=0;itemIx< SPContext.Current.List.Items.Count;itemIx++) {
SPListItem listItem = SPContext.Current.List.Items[itemIx];
// do something ...
}
Every access to Count and Items Property queries the whole SharePoint list
We end up with 202 SQL Executions with a total exec time of > 1s
40
Good Coding of Custom Web Parts - #2
DO
SPListItemCollection items = SPContext.Current.List.Items;
foreach (SPListItem listItem in items) {
// do something ...
}
Only first access to the collection queries the data
41
Telerik Grid Control Going Wild
#1: Data Driven Problem
Depending on the user input
on that request we see up to
493! SQL Calls per request
Root Cause: Every Grid Cell
executed a new SQL
#2: Statements not prepared
None of these executions has
been prepared
42
High Garbage Collection
Memory Heavy Apps
result in High GC that
impacts Performance
43
High GC Result of High Memory Usage!
Long Running GCs!
Analyze Memory
Patterns
44
High GC: Performance Heap Analysis
Which classes stay
on the heap?
Which have the
biggest impact?
Who is keeping
them in memory?
45
REAL LIFE TROUBLESHOOTING
The journey of a frustrated SharePoint User
46
Frustrated User report bad Response Times
Frustrated User
Slow Page Load caused by Browser JS Time
Slow Page Load caused by Server-Side Processing
47
Really slow page
6.8s to deliver Default.aspx page
Involved Web Parts
Most of the Time spent
In waiting
48
WebPart uses multiple parallel Threads
Async Threads are busy with I/O
49
First Remote Call is Very Slow
Web Service call by ContentEditorWebPart
HttpWebRequests uses ServicePoint internally
First Web Serivce Requests takes 5.8s to return
50
Thread Limit lets all other Threads wait!
We have 10 parallel calls in our background threads
The other background threads spend their time
“waiting” in the ServicePoint
51
Solution: Change Defaults
52
Key Points to Take Home
#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
53
More Links for You
• Tools: http://dynatrace.com/en/sharepoint
• More Stories: http://blog.dynatrace.com/
• YouTube Tutorials: http://bit.ly/dttutorials
• Follow Me: @grabnerandi
• Contact Me: agrabner@dynatrace.com
54
Please Leave Feedback During Q&A
Please submit feedback by
going to
http://whatsyouranswer.com?
S201547151810
or by scanning the QR code to
the right

Weitere ähnliche Inhalte

Was ist angesagt?

Nginx performance monitoring with Dynatrace
Nginx performance monitoring with DynatraceNginx performance monitoring with Dynatrace
Nginx performance monitoring with Dynatrace
Harald Zeitlhofer
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
Andreas Grabner
 

Was ist angesagt? (20)

BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
 
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 PotsdamFrom Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
 
(R)evolutionize APM
(R)evolutionize APM(R)evolutionize APM
(R)evolutionize APM
 
How to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsHow to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance Tips
 
Top Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your PipelineTop Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your Pipeline
 
Mobile User Experience: Auto Drive through Performance Metrics
Mobile User Experience:Auto Drive through Performance MetricsMobile User Experience:Auto Drive through Performance Metrics
Mobile User Experience: Auto Drive through Performance Metrics
 
Sydney Continuous Delivery Meetup May 2014
Sydney Continuous Delivery Meetup May 2014Sydney Continuous Delivery Meetup May 2014
Sydney Continuous Delivery Meetup May 2014
 
JavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep DiveJavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep Dive
 
OOP 2016 - Building Software That Eats The World
OOP 2016 - Building Software That Eats The WorldOOP 2016 - Building Software That Eats The World
OOP 2016 - Building Software That Eats The World
 
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
Deploy Faster Without Failing Faster - Metrics-Driven - Dynatrace User Groups...
 
Nginx performance monitoring with Dynatrace
Nginx performance monitoring with DynatraceNginx performance monitoring with Dynatrace
Nginx performance monitoring with Dynatrace
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your mom
 
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowBoston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback Loops
 
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your PipelineMetrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
Metrics Driven DevOps - Automate Scalability and Performance Into your Pipeline
 
Dyna trace
Dyna traceDyna trace
Dyna trace
 
Troubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability HotspotsTroubleshooting ASP.NET and IIS Scalability Hotspots
Troubleshooting ASP.NET and IIS Scalability Hotspots
 
Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster!
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
 
JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont Delivery
 

Andere mochten auch

Hum1020 sp2015 syllabus
Hum1020 sp2015 syllabusHum1020 sp2015 syllabus
Hum1020 sp2015 syllabus
ProfWillAdams
 
Lengua anuncio
Lengua anuncioLengua anuncio
Lengua anuncio
franky226
 
Hum2310 sm2015 syllabus
Hum2310 sm2015 syllabusHum2310 sm2015 syllabus
Hum2310 sm2015 syllabus
ProfWillAdams
 
2003 Spring Newsletter
2003 Spring Newsletter2003 Spring Newsletter
2003 Spring Newsletter
Direct Relief
 
Daily routines by Valerie
Daily routines by ValerieDaily routines by Valerie
Daily routines by Valerie
lledocursotic
 
सुनामी
सुनामीसुनामी
सुनामी
22456651
 
квест Pons 1
квест Pons 1квест Pons 1
квест Pons 1
MarkovDA
 

Andere mochten auch (20)

Trilegiant 1
Trilegiant 1Trilegiant 1
Trilegiant 1
 
Hum1020 sp2015 syllabus
Hum1020 sp2015 syllabusHum1020 sp2015 syllabus
Hum1020 sp2015 syllabus
 
Lengua anuncio
Lengua anuncioLengua anuncio
Lengua anuncio
 
Hum2310 sm2015 syllabus
Hum2310 sm2015 syllabusHum2310 sm2015 syllabus
Hum2310 sm2015 syllabus
 
Obesità e stress ossidativo: una relazione pericolosa.
Obesità e stress ossidativo: una relazione pericolosa. Obesità e stress ossidativo: una relazione pericolosa.
Obesità e stress ossidativo: una relazione pericolosa.
 
Aiducation catalogue feb 28 version
Aiducation catalogue feb 28 versionAiducation catalogue feb 28 version
Aiducation catalogue feb 28 version
 
9th Annual Safe Schools Initiative Seminar
9th Annual Safe Schools Initiative Seminar9th Annual Safe Schools Initiative Seminar
9th Annual Safe Schools Initiative Seminar
 
What DevOps can learn from Oktoberfest
What DevOps can learn from OktoberfestWhat DevOps can learn from Oktoberfest
What DevOps can learn from Oktoberfest
 
2003 Spring Newsletter
2003 Spring Newsletter2003 Spring Newsletter
2003 Spring Newsletter
 
Daily routines by Valerie
Daily routines by ValerieDaily routines by Valerie
Daily routines by Valerie
 
Tabasco
TabascoTabasco
Tabasco
 
Presentation1
Presentation1Presentation1
Presentation1
 
Loopbaanbeleid
LoopbaanbeleidLoopbaanbeleid
Loopbaanbeleid
 
सुनामी
सुनामीसुनामी
सुनामी
 
MomentReel
MomentReelMomentReel
MomentReel
 
Vice President Resume
Vice President ResumeVice President Resume
Vice President Resume
 
Indonesian internationaltrade
Indonesian  internationaltradeIndonesian  internationaltrade
Indonesian internationaltrade
 
квест Pons 1
квест Pons 1квест Pons 1
квест Pons 1
 
Poultry Planner July 2012
Poultry Planner July 2012Poultry Planner July 2012
Poultry Planner July 2012
 
Top Application Performance Landmines
Top Application Performance LandminesTop Application Performance Landmines
Top Application Performance Landmines
 

Ähnlich wie HSPS 2015 - SharePoint Performance Santiy Checks

Understanding XHProf: Pinpointing Why Your Site is Slow and How to Fix it - S...
Understanding XHProf: Pinpointing Why Your Site is Slow and How to Fix it - S...Understanding XHProf: Pinpointing Why Your Site is Slow and How to Fix it - S...
Understanding XHProf: Pinpointing Why Your Site is Slow and How to Fix it - S...
Ezra Gildesgame
 
Tuning Your SharePoint Environment
Tuning Your SharePoint EnvironmentTuning Your SharePoint Environment
Tuning Your SharePoint Environment
vmaximiuk
 

Ähnlich wie HSPS 2015 - SharePoint Performance Santiy Checks (20)

SenchaCon Roadshow Irvine 2017
SenchaCon Roadshow Irvine 2017SenchaCon Roadshow Irvine 2017
SenchaCon Roadshow Irvine 2017
 
Understanding XHProf: Pinpointing Why Your Site is Slow and How to Fix it - S...
Understanding XHProf: Pinpointing Why Your Site is Slow and How to Fix it - S...Understanding XHProf: Pinpointing Why Your Site is Slow and How to Fix it - S...
Understanding XHProf: Pinpointing Why Your Site is Slow and How to Fix it - S...
 
10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today
 
Best Practices to SharePoint Physical and Information Architecture
Best Practices to SharePoint Physical and Information ArchitectureBest Practices to SharePoint Physical and Information Architecture
Best Practices to SharePoint Physical and Information Architecture
 
Best practices with development of enterprise-scale SharePoint solutions - Pa...
Best practices with development of enterprise-scale SharePoint solutions - Pa...Best practices with development of enterprise-scale SharePoint solutions - Pa...
Best practices with development of enterprise-scale SharePoint solutions - Pa...
 
SPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesSPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst Practices
 
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...
27.1.2014, Tampere. Perinteinen mobiilimaailma murroksessa. Petri Niemi: Sing...
 
Modernize Solutions with SharePoint & the Power Platform
Modernize Solutions with SharePoint & the Power PlatformModernize Solutions with SharePoint & the Power Platform
Modernize Solutions with SharePoint & the Power Platform
 
Performance tuning
Performance tuningPerformance tuning
Performance tuning
 
How to Do a Performance Audit of Your .NET Website
How to Do a Performance Audit of Your .NET WebsiteHow to Do a Performance Audit of Your .NET Website
How to Do a Performance Audit of Your .NET Website
 
Performance Tuning Web Apps - The Need For Speed
Performance Tuning Web Apps - The Need For SpeedPerformance Tuning Web Apps - The Need For Speed
Performance Tuning Web Apps - The Need For Speed
 
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
Datapolis Guest Expert Presentation: Limitations of SharePoint Designer by Bj...
 
Tuning Your SharePoint Environment
Tuning Your SharePoint EnvironmentTuning Your SharePoint Environment
Tuning Your SharePoint Environment
 
AdminCamp 2017 - IBM Connections Adminblast
AdminCamp 2017 - IBM Connections AdminblastAdminCamp 2017 - IBM Connections Adminblast
AdminCamp 2017 - IBM Connections Adminblast
 
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
 
Introduction to SharePoint as a development platform
Introduction to SharePoint as a development platformIntroduction to SharePoint as a development platform
Introduction to SharePoint as a development platform
 
SharePoint Apps 101
SharePoint Apps 101SharePoint Apps 101
SharePoint Apps 101
 
BD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginningBD Conf: Visit speed - Page speed is only the beginning
BD Conf: Visit speed - Page speed is only the beginning
 
Manipulating Web Application Interfaces
Manipulating Web Application InterfacesManipulating Web Application Interfaces
Manipulating Web Application Interfaces
 
10 things you can do to speed up your web app today stir trek edition
10 things you can do to speed up your web app today   stir trek edition10 things you can do to speed up your web app today   stir trek edition
10 things you can do to speed up your web app today stir trek edition
 

Mehr von Andreas Grabner

Mehr von Andreas Grabner (16)

KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityKCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
 
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to ProductionOpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
 
Observability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnObservability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with Keptn
 
Release Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareRelease Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking Software
 
Adding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAdding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with Keptn
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOps
 
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnJenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptn
 
Keptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sKeptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8s
 
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sShipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
 
Top Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesTop Performance Problems in Distributed Architectures
Top Performance Problems in Distributed Architectures
 
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingApplying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
 
Monitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainMonitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps Toolchain
 
AWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environments
 
DevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceDevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with Dynatrace
 

Kürzlich hochgeladen

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Kürzlich hochgeladen (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 

HSPS 2015 - SharePoint Performance Santiy Checks

  • 1. 0 Key Performance Sanity Checks Andreas Grabner (@grabnerandi) http://dynatrace.com/en/sharepoint
  • 2. 1 Welcome to SharePoint Saturday Houston • Please turn off all electronic devices or set them to vibrate • If you must take a phone call, please do so in the hall so as not to disturb others • Special thanks to our Title Sponsor, ProSymmetry Thank you for being a part of the 5th Annual SharePoint Saturday for the greater Houston area!
  • 3. 2 Thanks to all our Sponsors!
  • 4. 3 Information • Speaker presentation slides should be available from the SPSHOU website within a week or so • The Houston SharePoint User Group will be having it’s next meeting Wednesday April 15th. Please join us at www.h-spug.org
  • 5. 4 That’s why I ended up talking at HSPS
  • 6. 5 4
  • 7. 6 What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint Usage 4. Which Pages are Slow and Why? Bonus: Real Life Troubleshooting Example
  • 8. 7 7 Step SharePoint Health Check #1: End User Health #3: System Health#2: Site Health #4: IIS Health #5: AppPool Health #6: SQL & Service Health #7: Web Parts
  • 9. 8 Check #1: End User Health #1: Geo Location #2: User Environment #3: Errors
  • 10. 9 Check #2: Site Health #1: Load #2: Failures #3: Performance #4: Infrastructure #5: End User Index
  • 11. 10 Check #3: System Host Health #1: CPU & Memory #3: Process Check: Need to RE-DEPLOY? #2: I/O: Static & Logs
  • 12. 11 Check #4: IIS Health #1: Threads #2: Throughput #3: Page Size
  • 13. 12 Check #5: AppPool Health #1: Memory #2: Garbage Collection #3: Worker Threads
  • 14. 13 Check #6: SQL & Service Health #2: Connectivity Issues #1: Excessive SQL Roundtrips
  • 15. 14 Check #7: Web Parts #1: Performance #2: Deployment #3: Bad Coding: 211 SQL!
  • 16. 15 AVOID COMMON DEPLOYMENT MISTAKES Connectivity, Missing Files, Permission, …
  • 17. 16 Who’s talking with whom? How many Web Sites are actually running? How many requests make it to SharePoint’s AppPool? Do we call any external services Is our SQL Server overloaded?
  • 18. 17 Any Deployment Mistakes? HTTP 5xx, 4xx? Which errors are thrown by which page? Which Errors impact how many users?
  • 19. 18 Any Bad WebPart? WebParts that can’t be loaded! Here is the page that uses this WebPart
  • 20. 19 Connectivity Issues between Services? Watch out for Connection Exceptions! This is the page that tries to connect to that backend service! Root Cause: Configuration Issue
  • 21. 20 Authentication Issues? How many users have authentication issues? Which pages are users trying to access?
  • 22. 21 User Permission Problems? #1: Permission Issue Detected! #2: Related to SocialNavigationControl #3: Here is the problematic page
  • 23. 22 Missing Lists? List not found Exception! Here is the page that references this list!
  • 24. 23 Missing Columns? Somebody deleted a column? Here is the page that shows that column!
  • 25. 24 Bad Filter Settings? Bad filter settings result in Exceptions Here is the page that uses that bad filter!
  • 26. 25 ANALYZE SHAREPOINT USAGE Who is using What, How from Where?
  • 27. 26 How are people navigating through SharePoint? Which browsers do people use? Where are they from? Which Office? How do they navigate through the site? How fast/slow are these pages for them? Maybe impacted by bad network connectivity?
  • 28. 27 Which Lists/Views are Used? How often used? How fast/slow? Time spent in SQL Server? Same information interesting per View High Failure Rate?
  • 29. 28 Which Web Parts are used?
  • 30. 29 WHICH PAGES ARE SLOW How to identify them?
  • 31. 30 What are the top slowest end user pages? How Fast/Slow for the end user? How much of that is Server Time?
  • 32. 31 What makes them slow? How do these pages load? Lots of JavaScript that loads slow? Maybe cache on a Proxy/CDN?
  • 33. 32 REASONS FOR SLOW PAGES Client and Server Side
  • 34. 33 Many reasons for bad performance • Frontend – Overloaded and complex Pages – Too much JavaScript slows down older browsers – Bad content caching • Backend – Bad/Too Much Database Access – Bad Coding of custom code – Overhead due to configuration issues and resulting logs/exceptions – High Memory Consumption – Wrong Deployment Configurations (e.g: worker threads, …)
  • 35. 34 Overloaded Pages 2.6MB for Home Page ! Don’t overload with too much information!
  • 36. 35 Database Impact: too many requests 211! SQLs per Page Request
  • 37. 36 Database Impact: Same SQLSame SQL called many times per page!
  • 38. 37 Database Impact: Whom to blame? • Overloaded Pages with too many Web Parts • Badly implemented custom web parts • 3rd party WebParts or Controls
  • 39. 38 Bad Coding of Custom Web Parts - #1 ALL List Items are retrieved from the Database DO NOT int noOfItems = SPContext.Current.List.Items.Count; Item Count is kept redundant in the AllUserData table and also kept in memory DO int noOfItems = SPContext.Current.List.ItemCount;
  • 40. 39 Bad Coding of Custom Web Parts - #2 DO NOT for (int itemIx=0;itemIx< SPContext.Current.List.Items.Count;itemIx++) { SPListItem listItem = SPContext.Current.List.Items[itemIx]; // do something ... } Every access to Count and Items Property queries the whole SharePoint list We end up with 202 SQL Executions with a total exec time of > 1s
  • 41. 40 Good Coding of Custom Web Parts - #2 DO SPListItemCollection items = SPContext.Current.List.Items; foreach (SPListItem listItem in items) { // do something ... } Only first access to the collection queries the data
  • 42. 41 Telerik Grid Control Going Wild #1: Data Driven Problem Depending on the user input on that request we see up to 493! SQL Calls per request Root Cause: Every Grid Cell executed a new SQL #2: Statements not prepared None of these executions has been prepared
  • 43. 42 High Garbage Collection Memory Heavy Apps result in High GC that impacts Performance
  • 44. 43 High GC Result of High Memory Usage! Long Running GCs! Analyze Memory Patterns
  • 45. 44 High GC: Performance Heap Analysis Which classes stay on the heap? Which have the biggest impact? Who is keeping them in memory?
  • 46. 45 REAL LIFE TROUBLESHOOTING The journey of a frustrated SharePoint User
  • 47. 46 Frustrated User report bad Response Times Frustrated User Slow Page Load caused by Browser JS Time Slow Page Load caused by Server-Side Processing
  • 48. 47 Really slow page 6.8s to deliver Default.aspx page Involved Web Parts Most of the Time spent In waiting
  • 49. 48 WebPart uses multiple parallel Threads Async Threads are busy with I/O
  • 50. 49 First Remote Call is Very Slow Web Service call by ContentEditorWebPart HttpWebRequests uses ServicePoint internally First Web Serivce Requests takes 5.8s to return
  • 51. 50 Thread Limit lets all other Threads wait! We have 10 parallel calls in our background threads The other background threads spend their time “waiting” in the ServicePoint
  • 53. 52 Key Points to Take Home #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
  • 54. 53 More Links for You • Tools: http://dynatrace.com/en/sharepoint • More Stories: http://blog.dynatrace.com/ • YouTube Tutorials: http://bit.ly/dttutorials • Follow Me: @grabnerandi • Contact Me: agrabner@dynatrace.com
  • 55. 54 Please Leave Feedback During Q&A Please submit feedback by going to http://whatsyouranswer.com? S201547151810 or by scanning the QR code to the right

Hinweis der Redaktion

  1. And that’s my professional background
  2. #1: End User Health: Happy or Frustrated? Desktop or Mobile? #2: Site Health: Any Errors? Any Performance Issues? #3: System Health: CPU, Memory, Process Distribution, … #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
  3. #1: Geo Location: Where from is SharePoint Accessed? Which Offices? Which Remote Locations? #2: User Environment: Is everyone using IE? How many use Mobile Devices? Bandwidth Issues? #3: Errors: Bad URLs? Bad JavaScript? Missing files?
  4. #1: Load: Which sites are used? #2: Failures: Any functional issues? #3: Performance: Meeting our SLAs? #4: Infrastructure: Servers Healthy? #5: End User Index: Happy users?
  5. Don’t just look at Windows OS Metrics such as CPU, Memory, Disk and Network Utilization Monitor individual SharePoint AppPool worker processes (w3wp.exe) to identify sites that overload this server #1: CPU & Memory: Background Jobs Running? What else is consuming it? #2: I/O: Too much logging? Serving too many static files? Data Sync Jobs? #3: Process Check: Which processes are consuming these resources? Need to RE-DEPLOY processes?
  6. #1: Threads: Enough IIS Worker Threads? Are threads waiting or doing work? #2: Throughput: Enough Bandwidth available? Better Cache Settings? #3: Page Size: Bloated pages? Cache Settings? CDN?
  7. #1: Memory: Indication of bad Memory Access or Leaks? #2: Garbage Collection: Impact on Performance? #3: Worker Threads: Proper Sizing Configuration?
  8. #1: Performance: How long does it take to render? #2: Deployment: Missing any Dependencies? #3: Bad Coding: 211 SQL Calls from a single Web Part
  9. A Telerik Grid C
  10. http://apmblog.compuware.com/2013/03/12/net-and-sharepoint-performance-dont-let-default-settings-ruin-your-end-user-experience/