asia pacific sharepoint capacity planning by joel oleson

50

Upload: joel-oleson

Post on 17-Dec-2014

3.534 views

Category:

Technology


2 download

DESCRIPTION

Capacity Planning deck from SharePoint Conference 2007 in Sydney. Some origin content from Kimmo Forss with some from Steve Tullis.

TRANSCRIPT

Page 1: Asia Pacific SharePoint Capacity Planning by Joel Oleson
Page 2: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Capacity Planning and Performance Planning

Joel Oleson

http://blogs.msdn.com/joelo

Sr. Technical Product Manager

Microsoft Corporation

Page 3: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Agenda

•Addressing Capacity Boundaries and Considerations

•Workload Considerations–Collaboration–Web Publishing–Search

•Capacity planning–Performance–High Availability

•Demo: Perfmon and SharePoint

•Demo: Caching and Tuning

3 10/04/23

Page 4: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Capacity Planning

The art of evaluating a technology againstthe needs of an organization,

and making an educated decision

about the procurement of HW to meet the demands specific to a system being installed

Page 5: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

CollaborationBusiness

Intelligence

Enterprise Content

Management

Forms and

BusinessProcesses

SearchWeb ContentManagement

Page 6: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Common Questions

• How much hardware do we need?

• Should we implement a server farm?

• Do we need SQL Server?

• How much data can we store?

• How many users can our environment support?

• How many sites can we run on our servers?

• How do we validate our design?

• What tools can we use to measure performance?

Page 7: Asia Pacific SharePoint Capacity Planning by Joel Oleson

• Components– Software Boundaries– Throughput Targets– Data Capacity– Hardware

• Phases– Plan for Software Boundaries– Estimate Performance and Capacity Requirements– Plan Hardware and Storage Requirements– Test Your Design

Performance and capacity planning: The process of mapping your solution design to a farm size and set of hardware that will support your business goals.

FrameworkPlanning for Capacity and Performance

Page 8: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Object Categories

Software Scalability vs. Hardware Scalability

RTM Test Results, Findings, and Recommendations from the Product Group

Test EnvironmentTest ResultsRecommendations

Other Considerations

Page 9: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Site ObjectsSite Collections, Web sites, documents, document libraries, list items, document file size, etc.

People ObjectsUser profiles, security principals, etc.

Search ObjectsSearch indexes, Indexed documents

Logical Architecture ObjectsShared Services Providers, Site Collections, Content Databases, Zones, etc.

Physical ObjectsServers: Index, WFE, Database, Application, etc.

Page 10: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Site Collection Max and Recommended Sizes

Database Max and Recommended Sizes

Backup and Operations Considerations

Server Throughput Considerations

User Type Considerations

Authentication Considerations

Page 11: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Software scalabilityRecommendations for acceptable performance based on software behavior and characteristics

Hardware scalabilityDoes not change/modify software behavior or characteristics…but can increase overall throughput of a server farm and might be necessary to achieve acceptable performance as the number of objects approach recommended limits

Page 12: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

• Hardware Specifications:

Computer Role Specifications

Stand-alone computer 1 dual core Intel Xeon 2.0 GHz 64-bit processor, 2 GB RAM

Web Front-End computer 2 dual core Intel Xeon 2.8 GHz 64-bit processors, 4 GB RAM

Database (SQL Server) computer

4 dual core Intel Xeon 2.8 GHz 64-bit processors, 32 GB RAM

Client computers Pentium III 1.2 GHz processor, 1 GB RAM

Network: Gigabit Ethernet (one billion bits/sec)

Farm Configurations Tested:DB’s 1 WFE 2 WFE 3 WFE 4 WFE 5 WFE 6 WFE 7 WFE 8 WFE

1 X X X X X X X X

Page 13: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Throughput vs. Number of Site Collections in One Content Database

Page 14: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Throughput differences between flat document library vs. document library with folders

Page 15: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

For all recommendations, visit “Plan for software boundaries http://technet2.microsoft.com/Office/en-us/library/6a13cd9f-4b44-40d6-85aa-c70a8e5c34fe1033.mspx

Object Recommended Maximum

Scope Object Category

Site collection 50,000 per web application

Web application Logical architecture

Content database

100 per Web application Web application Logical architecture

Web site 250,000 per site collection Site collection Site object

Document 5 million per library (2,000 per nested folder)

Library Site object

User profile 5 million per farm Farm People object

Indexed document

50 million per search index (1 index per index server, 1 index server per SSP)

SSP Search object

Web server / database server ratio

8 Web servers per database server (hard limit)

Farm Physical object

Page 16: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Throughput vs. number of Web serversTest findings showed plateau at 5:1Perform tests in your environment

Other RecommendationsCarefully plan your site hierarchy and designMinimize # Web applications and application poolsLimit # of Shared Service ProvidersPlan for database growthFollow data and feature best practices andsuggested limits…

Page 17: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Growth patterns

• Server performance

• High availability

• Applications

• Data growth

• Search

17

10/04/23

MOSS

Page 18: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Global Intranet Considerations

• Centralized or Distributed– Global teams or local teams

•Where to put the sites– End user experience

•Bandwidth/Latency– Operational costs– Search– Offline– Network accelerators

•Security•ACLs

18

10/04/23

N

S

EW

Data centers Sites0-100ms 101-200ms 201-300ms >300msbackbone

Munich

Peking

Chicago

35MB

50 MB

50MB

2MB

2MB

2MB

1 MB

Page 19: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Web Publishing

• Characteristics– Fewer content creators (may be external agencies)– Large number of viewers (authenticated or not)– Small number of central sites for content publishing

•Approval workflow– Staging and deployment

• Database Characteristics– Publishing databases mainly read

• Design considerations– Design for end to end performance– Page size matters! (html, .js,.css,….)– More memory than CPU intensive (caching)– Navigation and search ability

19

10/04/23

Page 20: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Large/complex environments

• Content deployments between staging production– Not everything is deployable via content deployment

• Page sizes– Compression– Supporting files

• .js files• .css files

• Web sites with member areas– Authentication– Authorization

• Caching strategy– ACLs– TTL

20

10/04/23

Page 21: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Search

• Characteristics– Multiple sources– Security trimming

• Indexing Characteristics– Network/CPU intensive

• Querying Characteristics– CPU/Memory/IO Intensive

• Database Characteristics– Property store in SQL

• Design considerations– 50 M items / catalog

21

10/04/23

Page 22: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Determine Usage ProfileUsage profile == User community’s behavior

Distribution of requests across contentOperation types and frequency

Existing solution in place? Mine IIS logsLeverage usage profiles provided in configurations tested by Product Group as starting point:

Configuration tested by Product Group

Windows SharePoint Services collaboration environments

Portal collaboration environments

Search environments

Internet environments

InfoPath Forms Services environments

Determine resource requirements to support Excel Services

Page 23: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Operation Percentage of throughput

Get home page 15.00

Get cached document 15.00

Get static document 15.00

Get list page (HTML) 10.00

Get list page (grid) 10.00

Get list form 7.00

404 errors 5.00

Insert list item 2.00

Edit list item 2.00

Delete list item 2.00

Insert document 2.00

Synchronize with Outlook 2.00

Delete document 2.00

RSS (Really Simple Syndication) 1.00

Start workflow 0.75

Workflow task completion 0.75

Page 24: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Estimating Throughput Targets

User response time, concurrencyThroughput target rule of thumb: 1 RPS == 100 concurrent users. * Note, this is consistent with SPS 2003, WSS 2.0

Total Users

5% 10% 15% 25% 50% 75% 100%

500 0.25 0.5 0.75 1.25 2.5 3.75 5.0

1,000 0.5 1.0 1.5 2.5 5.0 7.5 10.0

5,000 2.5 5.0 7.5 12.5 25.0 37.5 50.0

10,000

5.0 10.0 15.0 25.0 50.0 75.0 100.0

20,000

10.0 20.0 30.0 50.0 100.0 150.0 200.0

50,000

25.0 50.0 75.0 125.0 250.0 375.0 500.0

100,000

50.0 100.0 150.0 250.0 500.0 750.0 1,000

Throughput targets (in RPS) at various concurrency rates (recommended response time of 1 – 2 seconds)

Warning: Plan for Peak Concurrency

Page 25: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Other configuration factors that can influence throughput targets

Indexing (schedule indexing window off-hours)Caching enabled?

Output Caching and Cache Profiles Object Caching Disk-based Caching for Binary Large Objects

Page customizationsCustom Web parts

Page 26: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Latency componentsServer processing SQL processing, # SQL round trips, AJAX processing, security trimmingClient processing Javascript, CSS, AJAX requests, HTML load, Client machine specsWire transfer Bandwidth, size of download

RecommendationsPrimary cause of latency problems: custom web partsWatch for: SQL round trips, unnecessary data, excessive client side scriptRe-use existing client code versus adding moreDesign code for performance – (Use HTML and .Net best practices)Profile your solutions

Page 27: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Plan Hardware and StoragePhase 3 – How SharePoint Scales

Designed to grow with organization needs

Server resources: x32, x64, CPU, RAM, HDDRecommend 64-bit for back end services (SQL) which can leverage additional addressable memorySQL: HDD configuration critical

Server FarmTopology restrictions removedWFE, Query, Index, Excel Calc, Project, SQL

Adopted WSS adage: content only limited by HW capability*

Sites: In WSS 3.0, Portals sites are "just another WSS site”

Page 28: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Plan Hardware and StoragePhase 3 – 64-bit vs. 32-bit Hardware

WSS 3.0 and MOSS 2007 can work on both

64-bit Hardware Recommended32-bit can directly address only a 4GB Memory Address Space64-bit supports up to 1,024 GB Memory (Physical and/or Addressable)32-bit will look better and perform better with 2GB RAM, but we recommend 64-bit for future investments and scale

Larger # of Processors

64-bit HW PrioritizationSQL Server Index Excel Search WFE

*64-bit hardware can be mixed within a farm

* Adobe does not have PDF Ifilter for x64

Page 29: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Plan Hardware and StoragePhase 3 – Single Server Example

One Server Configured as:

• Web Front-End Server Role

• Application Server Role

• Database Server Role

Server Type

RAM Disk Processors

Stand-alone

2 GB NTFS file system–formatted partition with 3 GB of free space plus adequate free space for your Web sites (Typically at least 100GB)

Dual processors that are each 3 GHz or faster

Appropriate for limited use-scenarios including the following:Installing Office SharePoint Server 2007 for evaluation purposes.

Deploying only Microsoft Windows SharePoint Services 3.0.

Deploying a subset of the Office SharePoint Server 2007 features.

Deploying Office SharePoint Server 2007 for a limited purpose (such as for a single department) or for a limited number of users.

Page 30: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Plan Hardware and StoragePhase 3 – Multi-Server Farm Example

Optimizes performance of web serversIncreases redundancy and reduces points of failure

Redundancy at WFE and Database server roles

Determine configuration based on your business needs and goals

Determine config of other Application roles (Excel Services, Index, Forms, etc)

Web Servers Application Server

Clustered SQLServer

Page 31: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Plan Hardware and StoragePhase 3 – Storage Considerations

Primary Metric: Document Storage

Plan for 1.2 – 1.5 x file system size for SQL Server

note: metric is closely tied to RAID level used on SQL disks

Secondary Metric: Index Size

Index Server: ~10% of total size of all indexable content

Query Server: 2+ x index size (master merge)

Page 32: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

PhasesPhase 1: Plan for Software BoundariesPhase 2: Estimate Performance and Capacity RequirementsPhase 3: Plan Hardware and Storage Requirements

Page 33: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

ToolsVisual Studio Team System Test Edition (VSTT)WSSDW.exe (on Codeplex.com/sptdatapop)

When?Initial deployments New hardware configurationsImpact of scaling across or upValidating custom solutionsDebugging performance related issues

Page 34: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Data for testing (Sites, Search terms, lists, documents etc)

A test farm with enough servers to mirror a topology you are testing for

A VSTT controller machine (2-4 GB RAM); preferably with SQL Server 2005 to store the test results

VSTT clients machines; preferably physical; with at least 2GB of RAM to support many concurrent connections

Create VSTT Test Project (Web and Load)

Page 35: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Establish a purpose for testing. What are you testing for?

Usage Profiles

Create a good test plan with mix of different types of test

Setting up the VSTT rig with Controller, Clients and Database

Create Test data (Sites, Content etc) Can use SharePoint 2007 Test Data Population Tool on CodePlex (http://www.codeplex.com/sptdatapop)Uses a xml Configuration file to load or delete data

Create VSTT web tests for each scenario identified

Customize Web test as needed to read variable data from an external data source

Determining what your peak loads are.

Create Load test profile, think times, new users and capturing counters ,Page hit frequency, Web test frequency, Test run times, effect of Async jobs

Configure other test properties like warm up time, Connection type etc

VSTT automatically collects data from all client machines and aggregates them

Analyzing test data remotely

Page 36: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Server Role Performance Counter

All Servers Memory\Available Megabytes

All Servers Memory\% Committed Bytes in Use

All Servers Memory\Pages/second

All Servers System\Processor Queue Length

All Servers Processor\%Processor Time

All Servers Network\Network Queue Length

Web Front-End Server Process (w3wp)\%Processor Time

Web Front-End Server Process (w3wp)\%Private Bytes

Web Front-End Server Web Service\Connection Attempts/second

Web Front-End Server Requests Per Second

SQL Server Process (sqlserver)\% Processor Time

SQL Server Process (sqlserver)\Private Bytes

Page 37: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

Setup your Rig

Create your content (Data Load Tool or Manually)

Create your tests (web, load)

Configure the test parameters

Run. Measure. Rinse. Repeat.

Page 38: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Understanding PerformanceUsing Perfmon with SharePoint

Page 39: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

SharePoint sends down a relatively large payload when you visit the site; even though it is improved from SPS 2003

This payload comes from jScript files, IE Behaviors, and images, in addition to the text content

Some elements continue to come down

Multiple times on a single pageDownload again during same browser session on the same site

Example…

Page 40: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Files requested on first hit of the home page of a just created publishing site

/Pages/Default.aspx 107,128/_layouts/1033/core.js 54,367/_layouts/1033/ie55up.js 20,508/_layouts/images/gosearch.gif 19,933/_layouts/1033/init.js 15,732/_layouts/1033/styles/core.css 13,596/PublishingImages/newsarticleimage.jpg 10,710/WebResource.axd 8,272/WebResource.axd 5,373/_layouts/1033/search.js 5,092/_layouts/images/navshape.jpg 2,924/_layouts/1033/EditingMenu.js 2,735/WebResource.axd 2,482/_layouts/1033/styles/controls.css 1,448/_layouts/1033/styles/HtmlEditorTableFormats.css 1,317/_layouts/images/titlegraphic.gif 1,299/_layouts/images/icongo01.gif 1,171/_layouts/images/pagebackgrad.gif 1,082/_layouts/images/stsicon.gif 1,070/_layouts/images/itgen.gif 1,050/_layouts/images/itdisc.gif 1,049/_layouts/images/itlink.gif 1,043/_layouts/images/ittask.gif 1,039/_layouts/images/itcontct.gif 1,036/_layouts/images/helpicon.gif 1,025/_layouts/images/recycbin.gif 1,004/_layouts/portal.js 954/_layouts/1033/styles/HtmlEditorCustomStyles.css 642/_layouts/images/itevent.gif 619/_layouts/images/itdl.gif 582/WebResource.axd 224/WebResource.axd 218/_layouts/images/siteTitleBKGD.gif 209/_layouts/images/tvplus.gif 209/_layouts/images/tvminus.gif 207/_layouts/images/quickLaunchHeader.gif 148/_layouts/images/topnavselected.gif 146/_layouts/images/siteactionsmenugrad.gif 146/_layouts/images/topnavunselected.gif 92/_layouts/images/menudark.gif 68/_layouts/images/whitearrow.gif 68/_layouts/images/Menu1.gif 68/_layouts/images/pageTitleBKGD.gif 63/_layouts/images/navBullet.gif 58/_layouts/images/tvblank.gif 56/_layouts/images/lstbulet.gif 56/_layouts/images/blank.gif 43

Total 288,361 Bytes (nearly 300K)

Page 41: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

HTTP Compression is enabled and turned on by default for Static files like .js, .css etc

Aspx pages need to be added

Compression improves latency and decreases payload size

Compression affects up to 15% throughput

Page 42: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Microsoft Confidential

CachingOutput caching and Cache Profiles: At an Individual Page Level Disk-based caching: Individual binary large object (BLOB) level and caches images, sound, movies, and code

<BlobCache location="C:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" max-age="86400" enabled="false"/> in the web.config file for a web application

Object Caching: Individual Web Part control, field control, and content level

Page 43: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Troubleshooting

• Poor throughput– SQL – use SQL best practices for perf; especially disk perf– Asynchronous operations and timer job conflicts– Resource contention: # web apps, app pools, DBs, etc.– Check ANY custom code for SQL round trips and payload– Look for mis-configured network components (NICs, routers, etc.)– Search consumes multiple resources

• Poor end user perceived latency– Page payload

•OOB 1st page download ~ 200 KB; should not be significantly higher•Use page compression where possible

– Caching strategy: Turn on BLOB and Output cachingwhenever possible

– Client machine specs– Mis-configured network (see above)

Page 44: Asia Pacific SharePoint Capacity Planning by Joel Oleson

HP Performance Tests

• HP recommends X64 2-socket dual-core servers with at least 4GB memory.

• More than 4GB may be required depending upon tuning parameters and strategies that leverage memory against CPU utilization – some HP testing was able to exhaust 4GB memory on X64-based WFE servers with various memory consumptive tuning schemes.

• As memory is a relatively less expensive component than CPUs this trade-off can be beneficial, and the solution designer should consider configuring increased memory where the situation would warrant it, such as when using server-side caches.

Page 45: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Read-only workload WFE Server RPS WFE CPU% SQL CPU% Net KB/sec

BL20p G3 SC X86 60 85 10 6700

BL20p G4 DC X86 148 85 32 10000

BL20p G4 DC X64 140 85 32 10000

BL25p G1 DC X86 132 85 28 8900

BL25p G1 DC X64 124 85 24 7900

DL385 G2 DC X64 * 138 85 30 9800

DL385 G2 DC X64 ** 100 75 14 7000

DL385 G2 DC X64 *** 85 65 12 6000

DC= Dual Core

Page 46: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Table 2. Read/write workload

• WFE Server RPS WFE CPU% SQL CPU% Net KB/sec

• BL20p G4 DC X86 126 85 34 9000

• BL20p G4 DC X64 120 85 34 9000

• BL25p G1 DC X86 112 85 31 8200

• BL25p G1 DC X64 105 85 30 7700

• DL385 G2 DC X64 118 85 33 8700

* Dual Core is nearly double performance of single core and quad core is anticipated 1.8 X performance of dual core.

Page 47: Asia Pacific SharePoint Capacity Planning by Joel Oleson

HP Learnings

• Office SharePoint Server 2007 sites, assume a per-WFE server throughput maximum of 100-120 requests/second

• If the Query Search service will be running on the WFE servers, use 85 requests/second.

• For the 2-server SMB configuration (all Office SharePoint Server services running on a single server), assume a maximum throughput of 75-100 requests/second

• For a single-server SMB configuration (All Office SharePoint Server services and SQL Server running on one server), assume a maximum throughput of 50-75 requests/second.

• Assume a single active X64 2-socket dual-core SQL Server can support between 4 and 6 WFE/application 2-socket dual-core servers of the same type/power, depending on expected workload

Page 48: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Best practices for capacity planning

• Start big enough but not too big

• Do proper monitoring in order to know what/when to grow

• Go 64 bit where possible– PDF iFilter is currently only available in 32bit

• Plan End to End user experience– Bandwidth– Latency– Payload

48

10/04/23

Page 49: Asia Pacific SharePoint Capacity Planning by Joel Oleson

Related Content• Planning and Architecture for Office SharePoint

Server 2007– Plan for Performance and Capacity:

http://technet2.microsoft.com/Office/en-us/library/eb2493e8-e498-462a-ab5d-1b779529dc471033.mspx

– Design Server Farms and Topologies: http://technet2.microsoft.com/Office/en-us/library/651be1bf-c354-4f6d-965d-d3385cea0a2d1033.mspx

• Watch the Blogs:– http://blogs.msdn.com/sharepoint– http://blogs.msdn.com/joelo

• HP Performance Whitepaper

• http://h71019.www7.hp.com/ActiveAnswers/cache/497613-0-0-0-121.html

• Dell Case Study

• http://blogs.msdn.com/sharepoint/archive/2007/05/04/dell-case-study-showcase-of-consolidation-manageability-and-scale.aspx

Page 50: Asia Pacific SharePoint Capacity Planning by Joel Oleson