“SharePoint Farm Deployment & Configuration. Recommendations” Michael Nemtsev, Readify Pty...

Preview:

Citation preview

“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 (laflour@gmail.com)

• TechNet SharePoint articles http://technet.microsoft.com/en-us/library/cc303422.aspx

Recommended