SlideShare a Scribd company logo
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

More Related Content

What's hot

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!
Andreas Grabner
 
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
Andreas Grabner
 
(R)evolutionize APM
(R)evolutionize APM(R)evolutionize APM
(R)evolutionize APM
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
Sydney Continuous Delivery Meetup May 2014
Sydney Continuous Delivery Meetup May 2014Sydney Continuous Delivery Meetup May 2014
Sydney Continuous Delivery Meetup May 2014
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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...
Andreas Grabner
 
Nginx performance monitoring with Dynatrace
Nginx performance monitoring with DynatraceNginx performance monitoring with Dynatrace
Nginx performance monitoring with Dynatrace
Harald Zeitlhofer
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
Dyna trace
Dyna traceDyna trace
Dyna trace
Yasmine Gaber
 
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
Dynatrace
 
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!
Dynatrace
 
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
 
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
Andreas Grabner
 

What's hot (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
 

Viewers also liked

Trilegiant 1
Trilegiant 1Trilegiant 1
Trilegiant 1
christinavernon
 
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
 
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.
CreAgri Europe
 
Aiducation catalogue feb 28 version
Aiducation catalogue feb 28 versionAiducation catalogue feb 28 version
Aiducation catalogue feb 28 version
Elaine Chow
 
9th Annual Safe Schools Initiative Seminar
9th Annual Safe Schools Initiative Seminar9th Annual Safe Schools Initiative Seminar
9th Annual Safe Schools Initiative Seminar
UB Alberti Center for Bullying Abuse Prevention
 
What DevOps can learn from Oktoberfest
What DevOps can learn from OktoberfestWhat DevOps can learn from Oktoberfest
What DevOps can learn from Oktoberfest
Andreas Grabner
 
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
 
Tabasco
TabascoTabasco
Tabasco
Jessus_Payan
 
Loopbaanbeleid
LoopbaanbeleidLoopbaanbeleid
Loopbaanbeleid
Augustus consultancy
 
सुनामी
सुनामीसुनामी
सुनामी
22456651
 
MomentReel
MomentReelMomentReel
MomentReel
Marcos Acosta
 
Vice President Resume
Vice President ResumeVice President Resume
Vice President Resume
Jean Sutherland
 
Indonesian internationaltrade
Indonesian  internationaltradeIndonesian  internationaltrade
Indonesian internationaltrade
Rohit Jadhav
 
квест Pons 1
квест Pons 1квест Pons 1
квест Pons 1MarkovDA
 
Poultry Planner July 2012
Poultry Planner July 2012Poultry Planner July 2012
Poultry Planner July 2012
Manish Arora
 
Top Application Performance Landmines
Top Application Performance LandminesTop Application Performance Landmines
Top Application Performance Landmines
Andreas Grabner
 

Viewers also liked (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
 

Similar to HSPS 2015 - SharePoint Performance Santiy Checks

SenchaCon Roadshow Irvine 2017
SenchaCon Roadshow Irvine 2017SenchaCon Roadshow Irvine 2017
SenchaCon Roadshow Irvine 2017
Speedment, Inc.
 
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
 
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
Chris Love
 
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
Joel Oleson
 
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...
SPC Adriatics
 
SPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesSPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst Practices
Scott Hoag
 
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...
Tieturi Oy
 
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
Jonathan Schultz
 
Performance tuning
Performance tuningPerformance tuning
Performance tuning
Eric Phan
 
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
DNN
 
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
Vijay Rayapati
 
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...
Datapolis
 
Tuning Your SharePoint Environment
Tuning Your SharePoint EnvironmentTuning Your SharePoint Environment
Tuning Your SharePoint Environment
vmaximiuk
 
AdminCamp 2017 - IBM Connections Adminblast
AdminCamp 2017 - IBM Connections AdminblastAdminCamp 2017 - IBM Connections Adminblast
AdminCamp 2017 - IBM Connections Adminblast
Nico Meisenzahl
 
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...
J.D. Wade
 
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
Ronald Courville
 
SharePoint Apps 101
SharePoint Apps 101SharePoint Apps 101
SharePoint Apps 101
Ronald Courville
 
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
Peter McLachlan
 
Manipulating Web Application Interfaces
Manipulating Web Application InterfacesManipulating Web Application Interfaces
Manipulating Web Application Interfaces
Felipe M
 
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
Chris Love
 

Similar to 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
 

More from Andreas Grabner

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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
Top Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesTop Performance Problems in Distributed Architectures
Top Performance Problems in Distributed Architectures
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 
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
Andreas Grabner
 

More from 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
 

Recently uploaded

8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
ssuserad3af4
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 

Recently uploaded (20)

8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 

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

Editor's Notes

  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/