Share point 2010 performance and capacity planning best practices

  • Published on

  • View

  • Download

Embed Size (px)




  • 1. SharePoint 2010Performance and Capacity Planning Best Practices Eric Shupps SharePoint Server MVP
  • 2. About Me SharePoint Server MVP President, BinaryWave Microsoft Patterns & Practices ( CKS:DEV ( Web: Blog: Twitter: @eshupps Facebook:
  • 3. Agenda Infrastructure Network Servers Databases Demonstrations Configuration Caching Compression 10 Throttling and Locks 8 Pages 6 Customization 4 Branding 2 Load Time Lists Instrumentation
  • 4. Infrastructure
  • 5. Network Capacity Load Traffic Isolation Web Database Service Applications Search Authentication Indexing
  • 6. Servers Design to function 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 Search Security Trimming Workflow Content QueryIntensity Publishing Collaboration Social Client Access Browsing Frequency
  • 8. Database CalculationsVariable Value Total Database Sizing# Documents 1,000,000 EstimateAverage Size 150 KB 864.4 GB# List Items 3,000,000# Versions 3 Formula: Database size = ((D V) S) + (10 KB (L + (V D))) Database Size Estimates Number of User ProfilesContent DB Size 486.5 GB 50,000Crawl 22.4 GBProperty 7.3 GBProfile 48.8 GBSync 30 GBAll other DBs 269.5 GB
  • 9. Application Databases Small to moderate size Moderate transactional volume Profile Group on moderate PerformancePoint cost/performance disk Analytics BCS May be quite large PowerPivot May require isolation App Registry Reporting increases operational overhead 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 Content to backup/restore
  • 11. Search Databases Crawl databases can be extremely large High index sensitivity Admin Properties Heavy transactional volume Isolate crawl and temp databases Distribute across spindles and LUNs Crawl Highest performance disk
  • 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 ObjectFirst request served Commonly from content File-system objects requested objects database, output cached by IIS stored in memorywritten to memory Subsequent requests for same Database objects Cross-site queriesresource read from not cached cached in memory memory
  • 15. DEMOManaging 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 WFEs Size hardware accordingly Does not effect dynamic content retrieved from database
  • 17. DEMOSetting 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. DEMOResource Throttling
  • 20. Pages
  • 21. Page Controls Navigation Menus Ribbon Delegate Security Trimming Publishing Fields Search Layout Hidden
  • 22. Page Data Queries PageMaster Layout Navigation Menu Web Permissions Page Page Controls Options Parts File Database External System Data Sources
  • 23. Page CustomizationsUncustomized Customized Cache
  • 24. Test Results Average Performance Delta: ~10% 0 1 2 3 4 5 6 7 8 9 10 Uncustomized Customized
  • 25. DEMOCustomization
  • 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 doesnt 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 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. DEMOUsing the DeveloperDashboard to Isolate Performance Issues
  • 34. More InformationSharePoint Server 2010 Capacity Management: Software and Limits us/library/cc262787.aspxCapacity Management and Sizing Overview for SharePoint 2010 us/library/ff758647.aspxCapacity Planning for SharePoint Server 2010 us/library/ff758645.aspxPerformance Testing for SharePoint Server 2010 us/library/ff758659.aspxStorage and SQL Server Capacity Planning and us/library/cc298801.aspxPerformance and Capacity Technical Case Studies us/library/cc261716.aspxMonitoring and Maintaining SharePoint Server 2010 us/library/ff758658.aspxPerformance Testing for SharePoint Server 2010 us/library/ff758659.aspx
  • 35. Thank You for attending this session! Please fill in the evaluation form