“SharePoint Farm Deployment & Configuration. Recommendations” Michael Nemtsev, Readify Pty Microsoft MVP
Apr 01, 2015
“SharePoint Farm Deployment & Configuration. Recommendations”
Michael Nemtsev, Readify Pty Microsoft MVP
Agenda
• Why infrastructure?!• Planning• Installation• Farm Configuration• Development Environment• Backup and Recovery• Virtual Environment• Post Deployment• Optimization & Performance
WHY INFRASTRUCTURE?SharePoint Farm Deployment and Configuration
Why Infrastructure?!
Variety of projects – planning, strategy, infrastructure architecture design, UI Design, migration, development...
Not all environments are appropriate for new requirements
Plan ahead and leverage between number of factors
development errors – HOURS vs DAYS – infrastructure errors
Sample: re-configuring search
PLANNINGSharePoint Farm Deployment and Configuration
Planning
1. Examine corporate network- servers location (DC, File, Mail), topology, applications
2. Examine network devices- routers, accelerators, switches affect farm design
3. Measure latency- client PC to Web Server & Web Server to Database
Number of users
Concurrent users (10%)
Central Solution Distributed solution 100-5,000 10-500 Bandwidth: 3+ Mbps (dual T1)
Latency: < 100 ms Bandwidth: 1.5 Mbps (T1) Latency: <100 ms
10,000 1,000 Bandwidth: 3+ Mbps (dual T1) Latency: <250 ms
Bandwidth: 1.5 Mbps (T1) Latency: <500 ms
100,000 10,000 Bandwidth: 3+ Mbps (dual T1) Latency: < 250 ms
Bandwidth: 1.5 Mbps (T1) Latency: <500 ms
Planning
Sample of network diagram
Planning
4. Know your domain interactions
- one/two-way trust- STSADM to add domains for ppl picker
5. Identify SQL Server configuration
4GB RAM when < values , 8GB when = and 16Gb when > valuesMetric Value
Content database size 100 GB
Number of content databases 20
Number of concurrent requests to SQL Server 2005 200
Users 1000
Number of items in regularly accessed list 2000
Number of columns in regularly accessed list 20
Planning
6. Determine the Throughput Requirements- categorize user profiles by RPH group: Light (20), typical (36), heavy (60),
or extreme (120)- multiply number users by number ops per usage profile- Factor in peak concurrency
sample: 80k employees, up to 40k may be at work during any 8 hour window and concurrency 5% to 10% at peak10% light, 70% typical, 15% heavy, 5% extreme
(10% light x 40k) x 20 RPH = 80,000 RPH(70% typical x 40k) x 36 RPH = 1,008,000 RPH(15% heavy x 40k) x 60 RPH = 360,000 RPH(5% extreme x 40k) x 120 RPH = 240,000 RPH
1,688,000 / 3600 (seconds per hour) = 469 RPS469 x 10% peak = 46.9 RPS required
7. Choose the farm size
Choose between the small (single WFE), medium (to WFE) and large farms based on:
- Number of uses: <50k for small, <100k for medium, < 500k large- Request per second (100rps for small, 200rps for medium)
(i would delete these values on two)
Note: the general rule is to plan for 1 RPS (requests per second) per 1000 users
Planning
3-4 servers farm – minimum availability
DB Server redundancy – data availabilityWeb Server redundancy – performance
Where is the Index Server?!
Planning
5+ servers farm – most common, highly available topology
- solves issues of 3-4 servers farm- additional server(s) for Index and Application roles
Planning
8. Plan Database
- content DB < 100Gb - DB size = 1.5 * [raw content size]- Search DB size = [raw content size] x (1..0.05) x 4- 50 million content items to index
INSTALLATIONSharePoint Farm Deployment and Configuration
Installation
1. Windows Server 2008 and SQL Server 2008
- 64bit platform for better performance and migration to SharePoint 2010
- R2 is supported (need SP2 for SharePoint)- Web Server role and the Microsoft .NET Framework 3.5 SP1- SQL 2008 provides new Web Parts for reporting and KPI- Avoid DC role in virtualized environment
2. Use SQL Server Aliases
3. Microsoft Office
- Office 2007 Client in farm premises or Office Web Access 2010 (server)
Installation
4. Install SharePointa. Application server with Central Administration b. WFE serversc. Index server (if dedicated)d. Query server (if dedicated) e. Other application servers (optional).
- slipstream of WSS/MOSS (with SP2)- unattended install (“sharepointpdeploy” @codeplex)- uninstall is not graceful (database is not deleted)
5. Install Update and fixes- install latest Cumulative Update (check Infrastructure Update)- consider hotfixes - you need WSS update even for MOSS installation
FARM CONFIGURATIONSharePoint Farm Deployment and Configuration
Farm Configuration
1. Add Central Administration to Trust/Local Zone- some items are hidden
2. Choose the right edition of SharePoint- downgrading to Standard after Enterprise is not supported
3. Configure Administrative tasks- mail, search, SSP, content deployment and etc.
4. Configure Warm-Up scripts(http://blogs.msdn.com/joelo/archive/2006/08/13/697044.aspx)
5. Recycle IIS application pool at different time at Web Servers- consider to remove from NLB temporary if recycling several pools
DEVELOPMENT ENVIRONMENTSharePoint Farm Deployment and Configuration
Development Environment
1. Development Box installation- Windows Server, SQL, VS, TFS and .NET 3.5- SharePoint on dev boxes to test isolated
2. Choose development tools- VSeWSS (official MS tool), SPSource, STSDev (screenshot)- U2UCalm Builder- SharePoint Spy, SharePoint Manager, SharePoint Analyser (http://tinyurl.com/9p6j7e) - TypeMock for unit-testing
3. Setup Deployment environment- CI with TFS- “SPTemplateLand” solution structure
Development Environment
STSDev screenshots
Development Environment
SharePoint Spy
Development Environment
4. Configure working environment
BACKUP AND RECOVERYSharePoint Farm Deployment and Configuration
Backup and Recovery
1. Use separate server for Disaster Recovery (DR)
- separate installation- disconnected from current farm- locates outside current premises
2. Configure mirroring in the very beginning
- SQL mirroring to DR takes a lot of time
3. Recovery data immediately:
- OOTB backup/restore is slow, not reliable and not granular- SQL snapshots are not granular- 3rd party tools (DPM, Quest RM, DocAve)
Backup and Recovery
4. Consider content DB backup/restore time
- 15GB stsadm backup < 1 hour- 15GB stsadm restore = 1 hour- 15GB stsadm delete site collection = 19 minutes
VIRTUAL ENVIROMENTSharePoint Farm Deployment and Configuration
Virtual Environment
1. Consider using Virtualization
- HyperV, VPC, Virtual Server, vmWare support- throughput is 7.2% less in 8Gb Ram HyperV, than in 32Gb
physical Web Server- page response is 4.5% slower
2. Virtualize SharePoint Web Role
- low memory and disk activity requirements
3. Right disk choice for Query Role
- virtual disk for small propagated index- physical disk for large propagated index
Virtual Environment
4. Consider using Index Role on physical server
- usually the most memory-intensive role- appropriate for farms with large crawled content- when I/O activity is very high - RAM should be equal to about one-third the size of the index
(which usually is 10-30% from indexed documents)
5. Do I need to virtualize DB?- depends on I/O activity and amount of data- depends on maintenance frequency- virtualized DB common for small/dev/test/qa farms
6. Virtualize Application role- Usually the same as WFE
Virtual Environment
Virtual Environment
Virtual Environment
Virtual Environment
Virtual Environment
7. Optimization
- use fixed-size disk, physical drives (pass-through disk), or physical environment
- use proper number of CPU: virtual CPU <= logical CPU example: 16 vCPU on 4 quadcore CPU
- allocate RAM inside NUMA boundaries: host RAM/logical CPUtest: VPC with 32 Gb RAM perform worse 8GB Ram VPC
- be careful with snapshot feature on virtual servers
Refer to Michael Noel whitepaper for more details http://tinyurl.com/nynuma
POST DEPLOYMENTSharePoint Farm Deployment and Configuration
Post Deployment
1. Manage all SharePoint ports
- about 20 ports to manage (http://go.microsoft.com/fwlink/?LinkId=93372)
2. Monitor how SharePoint operates
- SCOM, SPDiag- Quest Capacity Manager- SharePoint Analyzer, SharePoint Manager (http
://tinyurl.com/9p6j7e)
3. Maintain SQL Database (http://go.microsoft.com/fwlink/?LinkId=111531)
- Check integrity- Defragment indexes- Shrink database to recover unused space
Post Deployment
Quest Capacity Manager
Post Deployment4. Manage security and permissions
- max 2000 security principals per item (ACL limitation)- use AD groups, not users in SP groups (performance issue)
example: managing SP users force Security Crawling
5. Remove unused and “ghost” users
- find “dead” users - find broken security inheritance tools: AccessChecker, DeliverPoint, SharePoint SUSHI
6. Plan windows updates- install manually- test before propagating to production environment
OPTIMIZATION & PERFORMANCESharePoint Farm Deployment and Configuration
Optimization & Performance
1. Use Windows 2008 server - improved TCP/IP stack
2. Domain Controllers and location- close location- 3-4 WFE per DC for NTLM Authorization- no DC on server with the SharePoint instance on it
3. Prefer hardware load balancers to software ones - offloads CPU and I/O pressure from WFE samples: F5 Big IP, Citrix Netscaler, Cisco Content Switcher
3. Adopt WFEs to number of users- 3+ WFE for 5000 users (to avoid cascading outage)- Additional WFE for crawling of 500Gb+ content DB (out of NLB)
Optimization & Performance
4. Check how fast index propagates- performance issue when 30+ sec to find new content
5. Split large collaboration site- use several site collections to avoid locks- counters SQL Server Locks Object: Average Wait Time < 60 sec
6. List view < 2000 items (table lock)- one indexed columns- no Xml-based Web Part (as DataView)
7. Optimize Payload- 4-8 sec for page loading
- evaluate page via www.webpagestest.org, httpWatch, FireBug
- optimize core files, use caching, turn on IIS compression (21%)
Optimization & Performance
Sydney SharePoint UG sample (http://www.sharepointusers.org.au/Sydney)
Resources and Additional information
• “SharePoint Sandbox: recommendations, guidelines and tips & tricks”– http://www.SharePoint-SandBox.com (@sharepointbox)
• Blog http://msmvps.com/blogs/laflour
• “SharePoint Farm Configuration and Deployment” whitepaper by request ([email protected])
• TechNet SharePoint articles http://technet.microsoft.com/en-us/library/cc303422.aspx