ideas to improve sharepoint usage 4. what are these 4 ideas? 1. 7 steps to check sharepoint health...

49
Ideas to Improve SharePoint Usage 4

Upload: irene-ellis

Post on 12-Jan-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Ideas to Improve SharePoint Usage4

Page 2: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

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

Page 3: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

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

Page 4: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Check #1: End User Health#1: Geo Location

#2: User Environment

#3: Errors

Page 5: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Check #2: Site Health#1: Load

#2: Failures

#3: Performan

ce

#4: Infrastruct

ure

#5: End User Index

Page 6: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Check #3: System Host Health

#1: CPU & Memory #3: Process Check: Need to RE-DEPLOY?

#2: I/O: Static & Logs

Page 7: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Check #4: IIS Health#1: Threads

#2: Throughput

#3: Page Size

Page 8: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Check #5: AppPool Health#1: Memory

#2: Garbage Collection

#3: Worker Threads

Page 9: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Check #6: SQL & Service Health

#2: Connectivity Issues

#1: Excessive SQL Roundtrips

Page 10: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Check #7: Web Parts#2: Deployment

#3: Bad Coding: 211 SQL!

#1: Performance

Page 11: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Avoid common Deployment Mistakes

CONNECTIVITY, MISSING FILES, PERMISSION, …

Page 12: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

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?

Page 13: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Any Deployment Mistakes? HTTP 5xx, 4xx?

Which errors are thrown by which page?

Which Errors impact how many

users?

Page 14: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Any Bad WebPart?

WebParts that can’t be loaded!

Here is the page that uses this

WebPart

Page 15: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

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

Page 16: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Authentication Issues?How many users

have authentication issues?

Which pages are users trying to

access?

Page 17: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

User Permission Problems? #1: Permission Issue Detected!

#2: Related to SocialNavigationControl

#3: Here is the problematic page

Page 18: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Missing Lists?List not found Exception!

Here is the page that references this list!

Page 19: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Missing Columns? Somebody deleted a column?

Here is the page that shows that column!

Page 20: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Bad Filter Settings?Bad filter settings

result in Exceptions

Here is the page that uses that bad filter!

Page 21: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Analyze SharePoint usageWHO IS USING WHAT, HOW FROM WHERE?

Page 22: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

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?

Page 23: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Which Lists/Views are Used?How often used? How fast/slow? Time spent in SQL

Server?

Same information shown per List

High Failure Rate?

Page 24: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Which pages are slowHOW TO IDENTIFY THEM?

Page 25: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

What are the top slowest end user pages? How Fast/Slow for

the end user?How much of that is Server Time?

Page 26: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

What makes them slow? How do these pages load?

Lots of JavaScript that loads slow?

Maybe cache on a Proxy/CDN?

Page 27: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Reasons for slow pagesCLIENT AND SERVER SIDE

Page 28: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

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, …)

Page 29: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Overloaded Pages

2.6MB for Home Page !

Don’t overload with too much

information!

Page 30: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Database Impact: too many requests 211! SQLs per

Page Request

Page 31: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Database Impact: Same SQL

Same SQL called many times per

page!

Page 32: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Database Impact: Whom to blame?

Overloaded Pages with too many Web PartsBadly implemented custom web parts3rd party WebParts or Controls

Page 33: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Bad Coding of Custom Web Parts - #1

ALL List Items are retrieved from the Database

DO NOTint noOfItems = SPContext.Current.List.Items.Count;

Item Count is kept redundant in the AllUserData table and also kept in memory

DOint noOfItems = SPContext.Current.List.ItemCount;

Page 34: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Bad Coding of Custom Web Parts - #2DO NOTfor (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

Page 35: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Good Coding of Custom Web Parts - #2DOSPListItemCollection items = SPContext.Current.List.Items;foreach (SPListItem listItem in items) { // do something ...}

Only first access to the collection queries the data

Page 36: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Telerik Grid Control Going Wild

#1: Data Driven ProblemDepending 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

Page 37: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

High Garbage Collection

Memory Heavy Apps result in High GC

that impacts Performance

Page 38: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

High GC Result of High Memory Usage!

Long Running GCs!

Analyze Memory Patterns

Page 39: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

High GC: Performance Heap AnalysisWhich classes stay on

the heap?

Which have the biggest impact?

Who is keeping them in memory?

Page 40: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Real life TroubleshootingTHE JOURNEY OF A FRUSTRATED SHAREPOINT USER

Page 41: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Frustrated User report bad Response Times

Frustrated User

Slow Page Load caused by Browser JS Time

Slow Page Load caused by Server-Side Processing

Page 42: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Really slow page 6.8s to deliver Default.aspx page

Involved Web Parts

Most of the Time spent in waiting

Page 43: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

WebPart uses multiple parallel Threads

Async Threads are busy with I/O

Page 44: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

First Remote Call is Very Slow

Web Service call by ContentEditorWebPart

HttpWebRequests uses ServicePoint internally

First Web Service Requests takes 5.8s to return

Page 45: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

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

Page 46: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Solution: Change Defaults

http://apmblog.compuware.com/2013/03/12/net-and-sharepoint-performance-dont-let-default-settings-ruin-your-end-user-experience/

Page 47: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

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

Page 48: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

More Links for YouTools: http://dynatrace.com/en/sharepoint

More Stories: http://blog.dynatrace.com/

YouTube Tutorials: http://bit.ly/dttutorials

Page 49: Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint

Thank You!