sharepoint performance:best practices from the field - spsboston 2013
DESCRIPTION
Want to avoid the performance mistakes before you make them? This in-depth session we will discuss how to properly position your SharePoint farm for success beginning with "hardware" and ending with troubleshooting methodologies to maximize performance. Find the pitfalls before you hit them from someone who has climbed out of the deep dark holes in the wild. Best Practices from the Field combines recommendations from Microsoft with the experience of trial & error.TRANSCRIPT
SharePoint Performance: Best Practices from the Field
Jason Himmelstein [email protected] @sharepointlhorn
@sebmatthews
SharePoint Foundation Logger http://spflogger.codeplex.com
Twitter: @sharepointlhorn
LinkedIn: www.linkedin.com/in/jasonhimmelstein
Blog: www.sharepointlonghorn.com
Microsoft vTSPvirtual Technology Solutions Professional
www.sharepointlonghorn.com
http://bit.ly/SharePointBI
About Jason
http://spflogger.codeplex.com
About Seb
Agenda
Infrastructure Design Analyze Customer Requirements Hardware requirements Server configuration Network recommendations Virtual vs. Physical
SQL Server Performance Pre-grow vs. Auto-growth I\O requirements Sizing recommendations Database Isolation
SharePoint Server Performance Tier isolation vs. Location Proximity Requirements Load balancing your App Tier Load testing in your environment Governance & Troubleshooting
Infrastructure Design Analyze Customer Requirements
High Availability Disaster Recovery Budget Constraints Location Awareness Number of Concurrent Users
Infrastructure Design Hardware requirements
Web servers & Application servers
SQL servers
What constitutes a small/medium/large farm?
Developer or Evaluation environments
CPU: 4 cores, 64-bit requiredRAM: 4GB
Hard Drive space: 80GB
Production in Single Server or farm environments
CPU: 4 cores, 64-bit requiredRAM: 8GB
Hard Drive space: 80GB
Small FarmCPU: 4 cores, 64-bit
requiredRAM: 8GB
Hard Drive space: 80GB
Medium Farm CPU: 8 cores, 64-bit
requiredRAM: 16GB
Hard Drive space: 80GB
Large FarmUp to 2TB Content DBS
RAM: 32 GB From 2TB to 5TB Content
DBSRAM: 64 GB
Infrastructure Design Server configuration – Small Farm
Infrastructure Design Server configuration – Scaled Farm
Infrastructure Design
Infrastructure Design Network recommendations
Traffic Isolation Web Database Search Service Applications Authentication
Number of NICs per server Limit the number of hops Colocation of servers Close location of Vservers
Infrastructure Design Physical
Benefits No virtualization overhead Ability to target DBs to separate physical spindles Only OS limits on Hardware Simple Networking
Drawbacks Backup & recovery time Limited snapshot ability Costly & lacking Centralized Management Budget constrained failover options
Infrastructure Design Virtualization
Benefits Snapshot capability Rapid system deployment HA\DR ability Centralized Management
Drawbacks Loss of minimum 8% compute for overhead Limitations on addressing full hardware Disks are stored as single/multi-file Centralized Networking Clustering complications
SQL Server Performance
Pre-grow databases Requires more space initially Dramatic increase in performance Databases like contiguous space Instant file initialization
Auto-growth Immediately change from 1m increments Do not use “Grow by %” setting 50-100m maximum growth per required Schedule maintenance task to check size & grow in off
peak hours as required
SQL Server Performance I\O requirements
DB Files RAID Level Optimization
1 TempDB data 10 Write
2 TempDB logs 10 Write
3 ContentDB data 10 Read\Write
4 ContentDB logs 10 Write
5 Crawl DB logs 10 Write
6 Crawl DB data 10 Read\Write
7 Property DB logs 10 Write
8 Property DB data 10 Write
9 Services DB logs 10 Write
10 Services DB data 5/10 Read\Write
11 Archive Content DB 5 Read
12 Publishing Site Content DB 5 Read
SQL Server Performance Sizing recommendations
Recommended limit for ContentDBs: 200G Maximum supported: 4TB
Includes Remote BLOBs Backup/Restore timing Simple vs. Full recovery mode
SQL Server Performance Database Instance Isolation
Secure Store Database SharePoint core databases Content Databases Search Highly Transactional non-SharePoint DBs
Drawback Lose the central management in a single SQL Server
Management Studio window
SharePoint Server Performance Tier isolation vs. Location Proximity Requirements
Separation via vLAN Less chatter Increased hop count
Collocating SharePoint in a single vLAN Increased chatter Lower hop count
Key take away Know your network, determine your topology based upon
traffic & requirements
SharePoint Server Performance Load balancing your App Tier
Know your load Scale based upon need, not perception
Find your choke point, then release the grasp
Don’t assume, validate!
SharePoint Server Performance
Load testing in your environment Example
2 Web Servers (4cores, 16GB RAM) using NLB 1 App Server (4cores, 16 GB RAM) 1 SQL Server Instance (16cores, 128GB RAM)
Simple CRUD operations Login, create list item, open item, modify item, save item, delete
item, log out
SharePoint Server Performance Load testing in your environment
Results Farm was completely non-responsive at ~500 concurrent users
Root cause Watching this test on the server side we found that we were immediately CPU
bound. Conclusion
Add CPUs or Web Servers to the farm to handle additional load
…and now its time for…
SharePoint Server Performance
Governance & Troubleshooting Determine tolerance for custom solutions
Encourage Sandbox Solutions Require SPDisposeCheck Require SPMonitored Scope If you don’t have a Dev/QA Environment, you don’t
have a Production Environment Never test patches in Production Educate on the Developer Dashboard
SharePoint Server Performance
Governance & Troubleshooting Never accept a solution that is not a
WSP Respect your users, or you won’t have
any Limit the number of Farm Admins Minimize Server Sprawl Audit your environment regularly Survey your users regularly Engage your Executive Sponsorship
References Jason’s Blog SharePoint Foundation Logger
http://www.sharepointlonghorn.com http://spflogger.codeplex.com Seb’s Blog
http://www.sebmatthews.net
Jason’s Article on SharePoint Pro http://www.sharepointpromag.com/content1/topic/sharepoint-performance-troubleshooting-141506/catpath/sharepoint-server-2010
Eric Shupps’s Bloghttp://www.sharepointcowboy.com
SharePoint Server 2010 Hardware and software requirements http://technet.microsoft.com/en-us/library/cc262485.aspx
SharePoint Server 2010 Capacity Management: Software Boundaries and Limitshttp://technet.microsoft.com/en-us/library/cc262787.aspx
Capacity Management and Sizing Overview for SharePoint Server 2010http://technet.microsoft.com/en-us/library/ff758647.aspx
Capacity Planning for SharePoint Server 2010http://technet.microsoft.com/en-us/library/ff758645.aspx
Performance Testing for SharePoint Server 2010http://technet.microsoft.com/en-us/library/ff758659.aspx
Storage and SQL Server Capacity Planning and Configurationhttp://technet.microsoft.com/en-us/library/cc298801.aspx
Performance and Capacity Technical Case Studieshttp://technet.microsoft.com/en-us/library/cc261716.aspx
Monitoring and Maintaining SharePoint Server 2010http://technet.microsoft.com/en-us/library/ff758658.aspx
Performance Testing for SharePoint Server 2010http://technet.microsoft.com/en-us/library/ff758659.aspx
The Load Testing Kit for Visual Studio Team System http://technet.microsoft.com/en-us/library/ff823731.aspx
Web Capacity Analysis Tool (WCAT) http://www.iis.net/community/default.aspx?tabid=34&g=6&i=1466
Jason’s contact & vitals
Microsoft vTSP virtual Technology Solutions Professional
SharePoint Foundation Logger http://spflogger.codeplex.com
Web: www.sentri.com Blog: www.sharepointlonghorn.com Twitter: @sharepointlhorn LinkedIn: www.linkedin.com/in/jasonhimmelstein
Author of Developing Business Intelligence Apps for SharePoint http://bit.ly/sharepointbi
Seb Matthews
+44(0)7765 090308
@sebmatthews http://sebmatthews.net
http://linkedin.com/in/sebmatthews