sharepoint performance optimization in 10 steps for the it professional

44
Joel Oleson SharePoint Product Architect Quest Software http://www.sharepointjoel.com Contributions: Mike Watson Aptimize Fpweb

Upload: joel-oleson

Post on 08-May-2015

48.113 views

Category:

Technology


2 download

DESCRIPTION

10 Steps to Optimizing SharePoint 2010 and SharePoint 2007. This includes new performance and optimization information on SharePoint 2010.

TRANSCRIPT

Page 1: SharePoint Performance Optimization In 10 Steps for the IT Professional

Joel Oleson SharePoint Product Architect Quest Software http://www.sharepointjoel.com

Contributions: Mike Watson Aptimize Fpweb

Page 2: SharePoint Performance Optimization In 10 Steps for the IT Professional

Agenda

Measuring Performance

10 Steps for Optimizing Performance Front End

Caching, Caching, Caching

Compression

Memory

App Pools

Offloading Auth & SSL

Page Optimization

Webpart Optimization

End to End

Q&A

Backend Dedicated Disks

Application settings

Index Optimization

SharePoint Configuration

Page 3: SharePoint Performance Optimization In 10 Steps for the IT Professional

Fast performance =

Happy Users

better user experience

more traffic

more revenue

Page 4: SharePoint Performance Optimization In 10 Steps for the IT Professional
Page 5: SharePoint Performance Optimization In 10 Steps for the IT Professional

Understanding Performance

Network Server Client

Network Infra Upgrades NIC Upgrades WAN Solutions overcoming latency Compression Caching Differencing

Server Tuning Data Centers Content Delivery Networks Offloading

Browser Render time Page Optimization Hardware, Driver and OS Upgrades

Page 6: SharePoint Performance Optimization In 10 Steps for the IT Professional

Page Performance Methodology

Methodology • Page Goal: 5 seconds or less

• Measure

• Improve

• Measure

What can we change? • Hardware

• Platform

• Application

• Network

Page 7: SharePoint Performance Optimization In 10 Steps for the IT Professional

Free Tools for Measuring Performance

www.Fiddler2.com

Ping (for latency)

www.WebPageTest.org

www.Aptimize.com

Perfmon

Page 8: SharePoint Performance Optimization In 10 Steps for the IT Professional
Page 9: SharePoint Performance Optimization In 10 Steps for the IT Professional

Caching, Caching, Caching Client Cache

Page Far Future Expires

Server Cache Reduce SQL Round Trips

Output Cache Publishing Site Collection

Page

Webparts

Never Cache a Search Results

not fully anonymous!

Disk Based Caching Blob Cache

Atom Feeds & RSS = 5 minutes by default

Page 10: SharePoint Performance Optimization In 10 Steps for the IT Professional

Gzip Compression

Reduce first view load time 30%-40% Reduces size:

HTML JavaScript StyleSheets

No effect on images: (JPEG, PNG, GIF) SharePoint is configured for Collab workload out of the box… Lots of Reads/Writes

Check for HTTP request header Accept-Encoding: gzip, deflate

Page 11: SharePoint Performance Optimization In 10 Steps for the IT Professional

Memory

Out of Memory Minimize App Pools

Dedicate App pool to customizations and consolidate all else

SQL timeouts

Warm up Users Complain about 1 minute render times

Intermittent performance issues

SpDisposeCheck Check for memory leaks, unclosed – Very common!

Page 12: SharePoint Performance Optimization In 10 Steps for the IT Professional

Webparts What to watch out for…

Watch for closed webparts – very comon Force webpart maintenance page or Designer to delete closed webparts

Poor performing webparts Dynamic Navigation – list based or cross site with no caching

Cross site rollups

Content Query Webpart

Why doesn’t SharePoint ship with cross site collection rollups and what’s new webparts??? Performance!!!

Msdn: Smart Core.js

Page 13: SharePoint Performance Optimization In 10 Steps for the IT Professional

Managing 2010 Perf Hosted by FPWeb

Page 14: SharePoint Performance Optimization In 10 Steps for the IT Professional

Look for memory leaks recycle often and/or fix

Avoid App pool memory limits or processor limits

Look for processor intensive code Render customizations via load tests

Identify Software boundaries Large & Wide lists

Deep Large site collections with lots of webs

Large DBs

TechNet: Plan for software boundaries

Identify Poorly Performing Code & Content

Page 15: SharePoint Performance Optimization In 10 Steps for the IT Professional
Page 16: SharePoint Performance Optimization In 10 Steps for the IT Professional

Health Rules - Definitions Health Rules Runs on a Timer Job

Create your own!

Repair Auto-

magically!

Page 17: SharePoint Performance Optimization In 10 Steps for the IT Professional

Performance Optimizations

Cleaner Pages and XHTML Compliance

Core.js size reduced 12%

List retrieval optimized

Content DB optimized for scale

SQL Blocking reduced with list throttling

Performance Point incorporated into SharePoint Server 2010

Distributed Indexing - Each crawl database can have many crawlers associated with it

Page 18: SharePoint Performance Optimization In 10 Steps for the IT Professional

Performance Controls HTTP Throttling - Every five seconds, a job runs that checks server resources Server CPU, Memory, Request in Queue, and Request Wait After 3 failed checks, server is throttled until a successful check.

List Controls – List is automatically throttled to max 5000 items

Page 19: SharePoint Performance Optimization In 10 Steps for the IT Professional

Health Report – Slowest Pages

Extensibility for reporting and

possibilities are limitless

Page 20: SharePoint Performance Optimization In 10 Steps for the IT Professional

Performance Dev Dashboard

web part info

SQL queries Info

Selected Scope general info

SPMonitoredScopes and their associated cost

WCF Calls

Off – default, On, and Ondemand – best practice for intranets!

Page 21: SharePoint Performance Optimization In 10 Steps for the IT Professional
Page 22: SharePoint Performance Optimization In 10 Steps for the IT Professional

Top Performance Killers 1. Indexing/Crawling

2. Backup (SQL & Tape)

3. Profile Import

4. Users - Inefficient views (Throttling in 2010 helps)

5. Timer Jobs – i.e. User Sync for large #s of Users

6. Poor Storage Configuration

7. STSADM Backup/Restore (Replace with third party or 2010 unattached recovery)

8. Large List Operations Delete/Update

9. Network Saturation/Congestion, i.e. Streaming Video

10. Misconfigured Network

Page 23: SharePoint Performance Optimization In 10 Steps for the IT Professional

Why is SQL that important? SQL Health = SharePoint Health! Sub-optimal SQL perf

will radiate to other components in the farm

Slow response from SQL Server will result in queued App requests

As the app slows down, so does SQL

Slow SQL

Slow App

Page 24: SharePoint Performance Optimization In 10 Steps for the IT Professional

Database Disk I/O Demand

Search

Most Demand

Config

Medium Demand

+SSP

*Content..

Low Demand

* Except during backup and Indexing + Except during Profile Import

Temp

Master

Model

Tlogs

Logging

Usage

Service App

New in 2010

Page 25: SharePoint Performance Optimization In 10 Steps for the IT Professional

Scaling SQL - Up

Design is Paramount! Consider the following:

Overall SQL Throughput (transactions/sec)

Disk throughput (IOPS)

Network throughput (MB/sec)

Disk backup throughput (MB/sec)

Network based backup throughput (MB/sec)

Length of maintenance windows (hours -> minutes)

Page 26: SharePoint Performance Optimization In 10 Steps for the IT Professional

New SharePoint 2010 Databases Workload based optimization

Farm

Config

Admin_Content

Application Registry Service

StateService

Web Analytics Web Service

WSS_Usage

Reporting_DB

Staging DB

Serv

ices

Search_Service_Application

Crawlstore

SearchDB

PropertyStore

WSS_Search

SocialDB

ProfileDB (was SSP db)

SyncDB

BDC_Service_DB

Word Conversion Service Application

Performance_Point

ManagedMetadata

Secure_Store_Service

Co

nte

nt

WSS_Content_GUID

WSS_Content_GUID1…

WSS_Content_GUID2…

Page 27: SharePoint Performance Optimization In 10 Steps for the IT Professional
Page 28: SharePoint Performance Optimization In 10 Steps for the IT Professional
Page 29: SharePoint Performance Optimization In 10 Steps for the IT Professional

Understanding Website Speed

Waterfall Diagram Breaks down page load

Shows everything to load the page

Server/Client/first render

Create diagram using WebPageTest.org

Fiddler

Page 30: SharePoint Performance Optimization In 10 Steps for the IT Professional

Vendors for Speeding Up SharePoint Software Based Solutions

Page & Performance Optimization –Dynamic/Automated Best Practices - Aptimize WAX

Dashboard Monitoring and Insight – Quest Foglight, System Center

Hardware Based Solutions WAN Accelerators – hardware devices used to compress, difference, and offload – Cisco, Citrix, Certeon

Reverse Proxy Compression, SSL Offload and Caching – F5, Microsoft ISA & IAG

Page 31: SharePoint Performance Optimization In 10 Steps for the IT Professional

Guideline What you can do to optimize your pages…

Minimize HTTP Requests Merges JS, CSS files into fewer files. Merges images into sprites

Add an Expires or a Cache-Control Header

Automatically adds far-future-expires headers to resources and uses auto URL versioning to ensure cached resources are kept up-to-date

Gzip Components Components are Gzipped and cached on the server to reduce CPU load

Put Stylesheets at the Top Stlyesheets are moved to the top of the page

Put Scripts at the Bottom Scripts can be moved to the bottom (or anywhere) on the page

Reduce DNS Lookups External resources can be cached and served from the local server

Minify JavaScript and CSS JS and CSS are minified

Remove Duplicate Scripts Duplicate JS files, stylesheets and images are removed

Configure ETags ETags are stripped from the resources

Optimize Images Images can be resampled, and GIFs converted to PNGs

Optimize CSS Sprites CSS Sprites are created and organized horizontally

Make favicon.ico Small and Cacheable

Favicon is configured for caching, and inserted if it is missing, removing a 404 condition.

Page 32: SharePoint Performance Optimization In 10 Steps for the IT Professional

Sharepoint2010.microsoft.com

Challenge Improve performance for microsoft.com site High traffic, no downtime

Applied Methodology Used 10 techniques http://www.aptimize.com/customers

Results

> 50% reduction in load time

"The improvement in page loading time is tremendous." Tony Tai, Product Manager, Microsoft Corporation

Page 33: SharePoint Performance Optimization In 10 Steps for the IT Professional

SharePoint 2010 Acceleration Hosted by FPWeb

Page 34: SharePoint Performance Optimization In 10 Steps for the IT Professional

Website Accelerator Automates best practices for browser load times

Aptimize Blog http://www.aptimize.com/blog

Twitter http://twitter.com/aptimize

Spoint.me (SharePoint Social Network) http://spoint.me/groups/sharepoint-performance/

Contact: 800-935-8414

USA Contact: [email protected]

Outside USA: [email protected]

Page 35: SharePoint Performance Optimization In 10 Steps for the IT Professional

Summary Memory, Disk and Network are frequent performance bottlenecks

SQL is extremely important to SharePoint health and Performance

Think IOPS when designing disk arrays

Separate work loads: temp, log, search, content.

SQL scales up and out. Don’t push the limits upward, but keep manageability and costs in mind when scaling out.

SharePoint 2010 provides proactive management

Check the HTML requests and how they affect performance with

www.fiddler2.com or www.webpagetest.org

Trial www.aptimize.com and improve your YSLOW score!

Page 36: SharePoint Performance Optimization In 10 Steps for the IT Professional

Resources

WebPageTest http://www.webpagetest.org

Fiddler http://www.fiddler2.com

Visual Round-Trip Analyzer http://www.microsoft.com/Downloads/details.aspx?FamilyID=119f3477-dced-41e3-a0e7-d8b5cae893a3

Microsoft case study Sharepoint.microsoft.com

http://blogs.msdn.com/sharepoint/archive/2009/09/28/how-we-did-it-speeding-up-sharepoint-microsoft-com.aspx

IAB guidelines http://www.iab.net/media/file/IAB_Ad_Load_Perfomance_BP_FINAL.pdf

Page 37: SharePoint Performance Optimization In 10 Steps for the IT Professional

Hosted SharePoint 2010

Over 10 years of SharePoint Hosting experience.

1st company in the World to host SharePoint back in 1999.

Over 1,000,000 SharePoint users in 80 countries.

Complete Server Control (unrestricted RDP access).

Secure VPN & Active Directory Integrations.

World class hosting network – 3 tier redundant ISP backbone.

No up-front costs – one predictable monthly price.

We are every bit SharePoint. We do one thing – very, very well.

Page 38: SharePoint Performance Optimization In 10 Steps for the IT Professional

Technology Responsibilities

38

Toughest Challenges

1. User Provisioning/de-provisioning

2. Delegation of Admin Rights

3. Compliance Reporting

4. Disaster Recovery

Active Directory

44%

DNS 26%

MIIS/ILM 16%

Exchange 14%

Multiple Technology Responsibilities

Technology Used / Deployed • 99% MS Server OS • 90% Management Frameworks

• 55% - MOM • 27% - HP OpenView • 21% - IBM Tivoli

• 87% Exchange • 74% SharePoint

Source: DEC 2008 Attendee Survey Whitepaper

Page 39: SharePoint Performance Optimization In 10 Steps for the IT Professional
Page 40: SharePoint Performance Optimization In 10 Steps for the IT Professional
Page 41: SharePoint Performance Optimization In 10 Steps for the IT Professional

Aptimize Website Accelerator Aptimize software automates best practices for browser load times

Aptimize Doubles Website Speeds:

Reduces HTTP requests by merging CSS and JS files

Reduces images with CSS sprite and CSS inlining

Compresses content using minification + Gzip

Increases caching using far-future-expires

50% reduction in data traffic and load times

40% increase in server throughput

Used in over 300 websites and intranets http://www.aptimize.com

Page 42: SharePoint Performance Optimization In 10 Steps for the IT Professional

Sample Waterfall Diagram

Server vs. Client time

Page 43: SharePoint Performance Optimization In 10 Steps for the IT Professional

Sample Waterfall Diagram

Server vs. Client time

Page 44: SharePoint Performance Optimization In 10 Steps for the IT Professional

Required Slide