sharepoint 2010 - performance and capacity planning best practices

Upload: eric-shupps

Post on 03-Jun-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    1/45

    Information Technology Solutions

    SharePoint 2010 Performance

    and Capacity Planning BestPractices

    Eric Shupps

    SharePoint Server MVP

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    2/45

    Sponsored by:

    Visit us on the web at www.binarywave.com

    Real-time application monitoring, event

    management, and operational health

    metrics for Microsoft SharePoint

    Reduce troubleshooting time by up to 30%

    Increase efficiency and improve user satisfaction

    Avoid downtime and costly outages

    Meet or exceed service level agreements

    Maximize investment in current infrastructure

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    3/45

    Information Technology Solutions

    About Me

    SharePoint Server MVP

    President, BinaryWave

    Member, Patterns & Practices AdvisoryBoard (spg.codeplex.com)

    Web: www.binarywave.com

    Blog: www.sharepointcowboy.com Twitter: @eshupps

    Facebook:

    www.facebook.com/sharepointcowboy

    http://spg.codeplex.com/http://www.binarywave.com/http://www.sharepointcowboy.com/http://twitter.com/http://www.facebook.com/sharepointcowboyhttp://www.facebook.com/sharepointcowboyhttp://twitter.com/http://twitter.com/http://www.sharepointcowboy.com/http://www.binarywave.com/http://spg.codeplex.com/
  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    4/45

    Information Technology Solutions

    Agenda

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    5/45

    Information Technology Solutions

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    6/45

    Information Technology Solutions

    Network

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    7/45

    Information Technology SolutionsArchitecture

    Design to function Heavy read operations

    require more web servers

    Heavy write operationsrequire increased SQL IOPS

    Heavy services (i.e. Search)require additionalapplication servers

    Design to Locality Global distribution with

    heavy write may requirelocalized farms

    Web Servers

    Application Servers

    Database Servers

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    8/45

    Information Technology SolutionsBoundaries

    Farm

    ServicesService

    Applications

    Databases

    System

    Application

    Configuration

    Content

    Web

    ApplicationsSite Collections Sites Lists Items

    5K500K 250K 30M

    300

    50K

    Servers

    10 application

    pools

    Web applications 5 zones

    20 managed paths

    Pages

    25 web parts

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    9/45

    Information Technology SolutionsCapacity

    Capacity

    Latency

    Throughput Scalability

    Concurrency

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    10/45

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    11/45

    Information Technology Solutions

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    12/45

    Information Technology SolutionsDatabase Operations

    Frequency

    Intensity

    Search

    Content Query

    Collaboration

    Browsing

    Social

    Publishing

    Client Access

    Workflow

    Security Trimming

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    13/45

    Information Technology SolutionsDatabase Types

    Configuration Central Admin Subscription Social Tagging Search Admin

    Synchronization Profile Managed Metadata Properties

    Usage Web Analytics

    Search Crawl

    Reporting

    Content

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    14/45

    Information Technology SolutionsDatabase Calculations

    Variable Value

    # Documents 1,000,000

    Average Size 150 KB

    # List Items 3,000,000

    # Versions 3

    Formula: Database size = ((D V) S) + (10 KB (L + (V D)))

    Database Size Estimates

    Content DB Size 486.5 GB

    Crawl 22.4 GB

    Property 7.3 GB

    Profile 48.8 GB

    Sync 30 GB

    All other DBs 269.5 GB

    Number of User Profiles

    50,000

    Total Database Sizing Estimate

    864.4 GB

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    15/45

    Information Technology SolutionsContent Databases

    Practical limit is 100GB Max supported limit is 200GB

    Create separate databases

    for: Site collections with large lists

    Large numbers of subsites

    Intensive read/writeoperations

    Data isolation (security) Consider amount of time it

    takes to backup/restore

    Content

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    16/45

    Information Technology SolutionsSearch Databases

    Crawl databases can beextremely large

    High index sensitivity Heavy transactional

    volume

    Isolate crawl and temp

    databases Distribute across spindles

    and LUNs

    Highest performance disk

    Admin

    Crawl

    Properties

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    17/45

    Information Technology SolutionsApplication Databases

    Small to moderate size

    Moderate transactional

    volume Group on moderatecost/performance disk

    Analytics

    May be quite large May require isolation

    Reporting increasesoperational overhead

    Profile

    BCS

    App Registry

    Word Automation

    PerformancePoint

    PowerPivot

    Analytics

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    18/45

    Information Technology SolutionsDatabase Management

    Manually configure auto-growth settings

    Defragment indexes

    Limit content database size per sitecollection

    Implement regular backup schedule to

    reduce log file size Isolate search databases

    Enforce quotas

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    19/45

    Information Technology SolutionsDatabase Performance

    IOPS Throughput

    Latency

    Seek Time Disk Speed

    Cache Size

    Queuing

    Contention

    Fragmentation

    Locks

    Transaction Log Writes

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    20/45

    Information Technology Solutions

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    21/45

    Information Technology SolutionsPage Controls

    Navigation

    Menus

    Ribbon Delegate

    Security Trimming

    Publishing Fields

    Search

    Layout

    Hidden

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    22/45

    Information Technology SolutionsPage Data Queries

    Page

    Master

    Page

    Layout

    Page

    Navigation

    ControlsPermissions

    Menu

    Options

    Web

    Parts

    Data Sources

    File

    SystemDatabase External

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    23/45

    Information Technology SolutionsSharePoint Caching

    Page

    First request servedfrom content

    database, outputwritten to memory

    Subsequentrequests for same

    resource read frommemory

    Disk

    File-system objectscached by IIS

    Database objectsnot cached

    Object

    Commonlyrequested objectsstored in memory

    Cross-site queriescached in memory

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    24/45

    Information Technology Solutions

    Managing Cache Settings

    DEMO

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    25/45

    Information Technology SolutionsPage Customizations

    Content storedon disk, static

    elements

    cached,

    assemblies

    loaded

    Contentretrieved from

    database on

    each request

    Uncustomized

    Customized

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    26/45

    Information Technology Solutions

    0

    0.05

    0.1

    1 2 3 4 5 6 7 8 9 10

    Uncustomized Customized

    Average Performance Delta: ~10%

    Customization Test Results

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    27/45

    Information Technology SolutionsIIS Compression

    Reduces size of filestransmitted across thewire

    Configurable for variousfile types

    Increases CPU utilizationon WFEs

    Does not effect dynamiccontent retrieved fromdatabase

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    28/45

    Information Technology SolutionsCSS, Images and HTML

    Start with a minimal master page

    Use CSS overridesdo not modify core CSS files!

    Minify and consolidate CSS files

    Use image stitching (CSS sprites) on pages with alot of small images to reduce number of requests

    Store resources (style sheets, master pages,layout pages, images) on the PHYSICAL file

    system (i.e. /_layouts/) not the VIRTUAL filesystem (Style Library, Publishing Images) Assets in libraries are stored in database

    Easy for users to modify but reduce performance

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    29/45

    Information Technology SolutionsJavascript

    Ribbon requires extensive script

    Load only necessary linked script files for

    target users Script on Demand framework handles delay

    loading for common scripts

    Custom scripts must be delay-loaded manually

    Minify and consolidate files Each linked file requires a separate request

    OOTB script files are minified by default

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    30/45

    Information Technology Solutions

    Measuring Page Performance

    DEMO

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    31/45

    Information Technology Solutions

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    32/45

    Information Technology SolutionsLarge Lists

    Just because a list CAN hold millions ofitems doesnt mean it SHOULD

    All user content in all lists throughout entiresite collection is stored in a single table inthe content database

    Folders improve view performance NOTquery performance

    List view web parts are now XSLT based;however, large list displays may still requirecustom code

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    33/45

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    34/45

    Information Technology SolutionsThrottling and Locks

    SQL Server escalates row locksto table locks(> 5000)

    Query throttling reduces theimpact of any single request bylimiting the amount of dataqueried

    Throttling is configurable andcan be altered for

    administrators and specific timeperiods

    Bit rate throttling controlsdownload speeds of largeobjects (video, Flash, Silverlight) Dependent upon BLOB cache

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    35/45

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    36/45

    Information Technology Solutions

    Resource Throttling

    DEMO

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    37/45

    Information Technology Solutions

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    38/45

    Information Technology SolutionsData Access

    Server Object Model

    Client Object Model

    CAML (LINQ)

    PortalSiteMapProvider

    Web Services Search

    REST

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    39/45

    Information Technology SolutionsThe Need for Speed

    Client OMWeb

    Services

    REST CAMLSearch

    Quality

    Speed

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    40/45

    Information Technology SolutionsManaging Large Data Sets

    Leverage search for mass data retrieval

    Use CAML queries for targeted item

    selection Joins reduce performance

    Maintain SQL indexes for optimal query

    execution Manipulate item data using in-memory

    objects

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    41/45

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    42/45

    Information Technology SolutionsDeveloper Dashboard

    Developer Dashboard provides metrics on

    object execution for individual pages

    Displays code-level request data for events

    Includes related database queries

    Identifies request allocations and control

    event offsets Used by developers to isolate performance

    issues

    hb d l

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    43/45

    Information Technology SolutionsDashboard Example

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    44/45

    O

  • 8/12/2019 SharePoint 2010 - Performance and Capacity Planning Best Practices

    45/45

    Information Technology Solutions

    Using the Developer Dashboard

    to Isolate Performance Issues

    DEMO