430 likes | 525 Views
“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
E N D
“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
SharePoint Farm Deployment and Configuration WHY INFRASTRUCTURE?
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
Planning • Examine corporate network - servers location (DC, File, Mail), topology, applications • Examine network devices - routers, accelerators, switches affect farm design 3. Measure latency - client PC to Web Server & Web Server to Database
Planning Sample of network diagram
Planning • Know your domain interactions • - one/two-way trust • - STSADM to add domains for ppl picker • Identify SQL Server configuration • 4GB RAM when < values , 8GB when = and 16Gb when > values
Planning • 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 windowand concurrency 5% to 10% at peak • 10% 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 RPS • 469 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 • Web Server redundancy – performance • DB Server redundancy – data availability • 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
SharePoint Farm Deployment and Configuration INSTALLATION
Installation • 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 • Use SQL Server Aliases • Microsoft Office - Office 2007 Client in farm premises or Office Web Access 2010 (server)
Installation 4. Install SharePoint a. Application server with Central Administration b. WFE servers c. 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
SharePoint Farm Deployment and Configuration FARM CONFIGURATION
Farm Configuration • Add Central Administration to Trust/Local Zone • - some items are hidden • Choose the right edition of SharePoint - downgrading to Standard after Enterpriseis not supported • 3. Configure Administrative tasks - mail, search, SSP, content deployment and etc. • 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
SharePoint Farm Deployment and Configuration DEVELOPMENT ENVIRONMENT
Development Environment • Development Box installation - Windows Server, SQL, VS, TFS and .NET 3.5 - SharePoint on dev boxes to test isolated • 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 • Setup Deployment environment - CI with TFS - “SPTemplateLand” solution structure
Development Environment • STSDev screenshots
Development Environment SharePoint Spy
Development Environment 4. Configure working environment
SharePoint Farm Deployment and Configuration BACKUP and RECOVERY
Backup and Recovery • Use separate server for Disaster Recovery (DR) - separate installation - disconnected from current farm - locates outside current premises • Configure mirroring in the very beginning - SQL mirroring to DR takes a lot of time • 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
SharePoint Farm Deployment and Configuration VIRTUAL ENVIROMENT
Virtual Environment Consider using Virtualization - HyperV, VPC, Virtual Server, vmWare support - throughput is7.2% less in 8Gb Ram HyperV, than in 32Gb physical Web Server - page response is 4.5% slower Virtualize SharePoint Web Role - low memory and disk activity requirements Right disk choice for Query Role - virtual disk for small propagated index - physical disk for large propagated index
Virtual Environment 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) 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 Virtualize Application role - Usually the same as WFE
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 CPU test: 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
SharePoint Farm Deployment and Configuration POST Deployment
Post Deployment • Manage all SharePoint ports - about 20 ports to manage (http://go.microsoft.com/fwlink/?LinkId=93372) • Monitor how SharePoint operates - SCOM, SPDiag - Quest Capacity Manager - SharePoint Analyzer, SharePoint Manager(http://tinyurl.com/9p6j7e) • 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 Deployment 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 Remove unused and “ghost” users - find “dead” users - find broken security inheritance tools: AccessChecker, DeliverPoint, SharePoint SUSHI Plan windows updates - install manually - test before propagating to production environment
SharePoint Farm Deployment and Configuration OPTIMIZATION & Performance
Optimization & Performance • 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 • 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 (laflour@gmail.com) • TechNet SharePoint articles http://technet.microsoft.com/en-us/library/cc303422.aspx