Presentation is loading. Please wait.

Presentation is loading. Please wait.

SharePoint 2010 Performance and Capacity Planning Best Practices

Similar presentations


Presentation on theme: "SharePoint 2010 Performance and Capacity Planning Best Practices"— Presentation transcript:

1 SharePoint 2010 Performance and Capacity Planning Best Practices
Eric Shupps SharePoint Server MVP

2 About Me SharePoint Server MVP President, BinaryWave
Microsoft Patterns & Practices (spg.codeplex.com) CKS:DEV (cksdev.codeplex.com) Web: Blog: Facebook:

3 Agenda Demonstrations Infrastructure Network Servers Databases
Configuration Caching Compression Throttling and Locks Pages Customization Branding Lists Instrumentation Demonstrations Load Time

4 Infrastructure

5 Network Capacity Load Traffic Isolation Web Database
Service Applications Search Authentication Indexing

6 Servers Design to function Design to Locality
Heavy read operations require more web servers Heavy write operations require increased SQL IOPS Heavy services (i.e. Search) require additional application servers Design to Locality Global distribution with heavy write may require localized farms

7 Database Operations Intensity Frequency Search Security Trimming
Workflow Content Query Publishing Intensity Collaboration Social Client Access Browsing Frequency

8 Database Calculations
Variable Value # Documents 1,000,000 Average Size 150 KB # List Items 3,000,000 # Versions 3 Total Database Sizing Estimate 864.4 GB 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 DB’s 269.5 GB Number of User Profiles 50,000

9 Application Databases
Small to moderate size Moderate transactional volume Group on moderate cost/performance disk Analytics May be quite large May require isolation Reporting increases operational overhead Profile PerformancePoint BCS PowerPivot App Registry Word Automation Analytics

10 Content Databases Practical limit is 200GB
Max supported limit is 4TB* Create separate databases for: Site collections with large lists Large numbers of subsites Intensive read/write operations Data isolation (security) Consider amount of time it takes to backup/restore Content * - Requires specific hardware performance criteria and extensive planning

11 Search Databases Crawl databases can be extremely large
High index sensitivity Heavy transactional volume Isolate crawl and temp databases Distribute across spindles and LUN’s Highest performance disk Admin Properties Crawl

12 Database Management Manually configure auto-growth settings
Defragment indexes on a regular basis Limit content DB size per site collection Assign disks based on size, volume and sensitivity Isolate transaction logs Implement regular backup schedule to reduce log file size Enforce quotas

13 Configuration

14 SharePoint Caching Page Disk Object
First request served from content database, output written to memory Subsequent requests for same resource read from memory Disk File-system objects cached by IIS Database objects not cached Object Commonly requested objects stored in memory Cross-site queries cached in memory

15 Managing Cache Settings
DEMO Managing Cache Settings

16 IIS Compression Reduces size of files transmitted across the wire
Caches compressed content on disk Configurable for various file types Compression range from 0 - 9 Increases CPU utilization on WFE’s Size hardware accordingly Does not effect dynamic content retrieved from database

17 Setting Compression Levels
DEMO Setting Compression Levels

18 Throttling and Locks SQL Server escalates row locks to table locks (> 5000) Query throttling reduces the impact of any single request by limiting the amount of data queried Throttling is configurable and can be altered for administrators and specific time periods Bit rate throttling controls download speeds of large objects (video, Flash, Silverlight) Dependent upon BLOB cache

19 DEMO Resource Throttling

20 Pages

21 Page Controls Navigation Menus Ribbon Delegate Security Trimming
Publishing Fields Search Layout Hidden

22 Page Data Queries Page Data Sources Master Layout Navigation Controls
Permissions Menu Options Web Parts Data Sources File System Database External

23 Page Customizations Uncustomized Cache Customized

24 Test Results Average Performance Delta: ~10% Uncustomized Customized

25 DEMO Customization

26 Branding Start with a minimal master page
Minify and consolidate linked files Reduce size and number of GET operations Use image stitching (CSS sprites) on pages with a lot 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 file system (Style Library, Publishing Images) Assets in libraries are stored in database Easy for users to modify but reduce performance

27 Lists

28 List Items Just because a list CAN hold millions of items doesn’t mean it SHOULD All user content in all lists throughout entire site collection is stored in a single table in the content database Consider query impact across site collection Folders improve view performance NOT query performance List view web parts are now XSLT based; however, large list displays may still require custom code

29 List Definitions Rows Columns Storage
More than 5,000 rows in a list is “large” Default throttle limit Corresponds to SQL lock escalation triggers Monitor locks if increasing throttle limit Columns More columns = more SQL rows More SQL rows can slow down performance up to 35% Storage Use Remote Blob Storage to eliminate storage of large files within SQL Not intended to increase query performance

30 Instrumentation

31 Developer Dashboard Developer Dashboard provides metrics on object execution for individual pages Displays code-level request data for events Provides drill-down process isolation Specifies related database queries Identifies request allocations and control event offsets Developers can implement monitoring scopes to display component performance data

32 Dashboard Example Total Page Execution Time Related Queries
Control Events

33 Using the Developer Dashboard to Isolate Performance Issues
DEMO Using the Developer Dashboard to Isolate Performance Issues

34 More Information SharePoint Server 2010 Capacity Management: Software Boundaries and Limits Capacity Management and Sizing Overview for SharePoint Server 2010 Capacity Planning for SharePoint Server 2010 Performance Testing for SharePoint Server 2010 Storage and SQL Server Capacity Planning and Configuration Performance and Capacity Technical Case Studies Monitoring and Maintaining SharePoint Server 2010

35 Thank You for attending this session
Thank You for attending this session! Please fill in the evaluation form


Download ppt "SharePoint 2010 Performance and Capacity Planning Best Practices"

Similar presentations


Ads by Google