Asia Pacific SharePoint Capacity Planning by Joel Oleson


Published on

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

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Microsoft Dynamics
  • Asia Pacific SharePoint Capacity Planning by Joel Oleson

    1. 2. Capacity Planning and Performance Planning Joel Oleson Sr. Technical Product Manager Microsoft Corporation
    2. 3. Agenda <ul><li>Addressing Capacity Boundaries and Considerations </li></ul><ul><li>Workload Considerations </li></ul><ul><ul><li>Collaboration </li></ul></ul><ul><ul><li>Web Publishing </li></ul></ul><ul><ul><li>Search </li></ul></ul><ul><li>Capacity planning </li></ul><ul><ul><li>Performance </li></ul></ul><ul><ul><li>High Availability </li></ul></ul><ul><li>Demo: Perfmon and SharePoint </li></ul><ul><li>Demo: Caching and Tuning </li></ul>06/06/09
    3. 4. Capacity Planning <ul><li>The art of evaluating a technology against the needs of an organization, </li></ul><ul><li>and making an educated decision </li></ul><ul><li>about the procurement of HW to meet the demands specific to a system being installed </li></ul>
    4. 5. Collaboration Business Intelligence Enterprise Content Management Forms and Business Processes Search Web Content Management
    5. 6. Common Questions <ul><li>How much hardware do we need? </li></ul><ul><li>Should we implement a server farm? </li></ul><ul><li>Do we need SQL Server? </li></ul><ul><li>How much data can we store? </li></ul><ul><li>How many users can our environment support? </li></ul><ul><li>How many sites can we run on our servers? </li></ul><ul><li>How do we validate our design? </li></ul><ul><li>What tools can we use to measure performance? </li></ul>
    6. 7. <ul><li>Components </li></ul><ul><ul><li>Software Boundaries </li></ul></ul><ul><ul><li>Throughput Targets </li></ul></ul><ul><ul><li>Data Capacity </li></ul></ul><ul><ul><li>Hardware </li></ul></ul><ul><li>Phases </li></ul><ul><ul><li>Plan for Software Boundaries </li></ul></ul><ul><ul><li>Estimate Performance and Capacity Requirements </li></ul></ul><ul><ul><li>Plan Hardware and Storage Requirements </li></ul></ul><ul><ul><li>Test Your Design </li></ul></ul><ul><li>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. </li></ul>Framework Planning for Capacity and Performance
    7. 8. <ul><li>Object Categories </li></ul><ul><li>Software Scalability vs. Hardware Scalability </li></ul><ul><li>RTM Test Results, Findings, and Recommendations from the Product Group </li></ul><ul><ul><li>Test Environment </li></ul></ul><ul><ul><li>Test Results </li></ul></ul><ul><ul><li>Recommendations </li></ul></ul><ul><li>Other Considerations </li></ul>
    8. 9. <ul><li>Site Objects </li></ul><ul><ul><li>Site Collections, Web sites, documents, document libraries, list items, document file size, etc. </li></ul></ul><ul><li>People Objects </li></ul><ul><ul><li>User profiles, security principals, etc. </li></ul></ul><ul><li>Search Objects </li></ul><ul><ul><li>Search indexes, Indexed documents </li></ul></ul><ul><li>Logical Architecture Objects </li></ul><ul><ul><li>Shared Services Providers, Site Collections, Content Databases, Zones, etc. </li></ul></ul><ul><li>Physical Objects </li></ul><ul><ul><li>Servers: Index, WFE, Database, Application, etc. </li></ul></ul>
    9. 10. <ul><li>Site Collection Max and Recommended Sizes </li></ul><ul><li>Database Max and Recommended Sizes </li></ul><ul><li>Backup and Operations Considerations </li></ul><ul><li>Server Throughput Considerations </li></ul><ul><li>User Type Considerations </li></ul><ul><li>Authentication Considerations </li></ul>
    10. 11. <ul><li>Software scalability </li></ul><ul><ul><li>Recommendations for acceptable performance based on software behavior and characteristics </li></ul></ul><ul><li>Hardware scalability </li></ul><ul><ul><li>Does 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 </li></ul></ul>
    11. 12. <ul><li>Hardware Specifications: </li></ul><ul><li>Network: Gigabit Ethernet (one billion bits/sec) </li></ul><ul><li>Farm Configurations Tested : </li></ul>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 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
    12. 13. <ul><li>Throughput vs. Number of Site Collections in One Content Database </li></ul>
    13. 14. <ul><li>Throughput differences between flat document library vs. document library with folders </li></ul>
    14. 15. <ul><li>For all recommendations, visit “Plan for software boundaries </li></ul>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
    15. 16. <ul><li>Throughput vs. number of Web servers </li></ul><ul><ul><li>Test findings showed plateau at 5:1 </li></ul></ul><ul><ul><li>Perform tests in your environment </li></ul></ul><ul><li>Other Recommendations </li></ul><ul><ul><li>Carefully plan your site hierarchy and design </li></ul></ul><ul><ul><li>Minimize # Web applications and application pools </li></ul></ul><ul><ul><li>Limit # of Shared Service Providers </li></ul></ul><ul><ul><li>Plan for database growth </li></ul></ul><ul><ul><li>Follow data and feature best practices and suggested limits… </li></ul></ul>
    16. 17. Growth patterns <ul><li>Server performance </li></ul><ul><li>High availability </li></ul><ul><li>Applications </li></ul><ul><li>Data growth </li></ul><ul><li>Search </li></ul>06/06/09 MOSS
    17. 18. Global Intranet Considerations <ul><li>Centralized or Distributed </li></ul><ul><ul><li>Global teams or local teams </li></ul></ul><ul><ul><ul><li>Where to put the sites </li></ul></ul></ul><ul><ul><li>End user experience </li></ul></ul><ul><ul><ul><li>Bandwidth/Latency </li></ul></ul></ul><ul><ul><li>Operational costs </li></ul></ul><ul><ul><li>Search </li></ul></ul><ul><ul><li>Offline </li></ul></ul><ul><ul><li>Network accelerators </li></ul></ul><ul><ul><ul><li>Security </li></ul></ul></ul><ul><ul><ul><li>ACLs </li></ul></ul></ul>06/06/09
    18. 19. Web Publishing <ul><li>Characteristics </li></ul><ul><ul><li>Fewer content creators (may be external agencies) </li></ul></ul><ul><ul><li>Large number of viewers (authenticated or not) </li></ul></ul><ul><ul><li>Small number of central sites for content publishing </li></ul></ul><ul><ul><ul><li>Approval workflow </li></ul></ul></ul><ul><ul><li>Staging and deployment </li></ul></ul><ul><li>Database Characteristics </li></ul><ul><ul><li>Publishing databases mainly read </li></ul></ul><ul><li>Design considerations </li></ul><ul><ul><li>Design for end to end performance </li></ul></ul><ul><ul><li>Page size matters! (html, .js,.css,….) </li></ul></ul><ul><ul><li>More memory than CPU intensive (caching) </li></ul></ul><ul><ul><li>Navigation and search ability </li></ul></ul>06/06/09
    19. 20. Large/complex environments <ul><li>Content deployments between staging production </li></ul><ul><ul><li>Not everything is deployable via content deployment </li></ul></ul><ul><li>Page sizes </li></ul><ul><ul><li>Compression </li></ul></ul><ul><ul><li>Supporting files </li></ul></ul><ul><ul><ul><li>.js files </li></ul></ul></ul><ul><ul><ul><li>.css files </li></ul></ul></ul><ul><li>Web sites with member areas </li></ul><ul><ul><li>Authentication </li></ul></ul><ul><ul><li>Authorization </li></ul></ul><ul><li>Caching strategy </li></ul><ul><ul><li>ACLs </li></ul></ul><ul><ul><li>TTL </li></ul></ul>06/06/09
    20. 21. Search <ul><li>Characteristics </li></ul><ul><ul><li>Multiple sources </li></ul></ul><ul><ul><li>Security trimming </li></ul></ul><ul><li>Indexing Characteristics </li></ul><ul><ul><li>Network/CPU intensive </li></ul></ul><ul><li>Querying Characteristics </li></ul><ul><ul><li>CPU/Memory/IO Intensive </li></ul></ul><ul><li>Database Characteristics </li></ul><ul><ul><li>Property store in SQL </li></ul></ul><ul><li>Design considerations </li></ul><ul><ul><li>50 M items / catalog </li></ul></ul>06/06/09
    21. 22. <ul><li>Determine Usage Profile </li></ul><ul><ul><li>Usage profile == User community’s behavior </li></ul></ul><ul><ul><ul><li>Distribution of requests across content </li></ul></ul></ul><ul><ul><ul><li>Operation types and frequency </li></ul></ul></ul><ul><ul><li>Existing solution in place? Mine IIS logs </li></ul></ul><ul><ul><li>Leverage usage profiles provided in configurations tested by Product Group as starting point: </li></ul></ul>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
    22. 23. 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
    23. 24. <ul><li>Estimating Throughput Targets </li></ul><ul><ul><li>User response time, concurrency </li></ul></ul><ul><ul><li>Throughput target rule of thumb: 1 RPS == 100 concurrent users. * Note, this is consistent with SPS 2003, WSS 2.0 </li></ul></ul>Throughput targets (in RPS) at various concurrency rates (recommended response time of 1 – 2 seconds) Warning: Plan for Peak Concurrency 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
    24. 25. <ul><li>Other configuration factors that can influence throughput targets </li></ul><ul><ul><li>Indexing (schedule indexing window off-hours) </li></ul></ul><ul><ul><li>Caching enabled? </li></ul></ul><ul><ul><ul><li>Output Caching and Cache Profiles </li></ul></ul></ul><ul><ul><ul><li>Object Caching </li></ul></ul></ul><ul><ul><ul><li>Disk-based Caching for Binary Large Objects </li></ul></ul></ul><ul><ul><li>Page customizations </li></ul></ul><ul><ul><li>Custom Web parts </li></ul></ul>
    25. 26. <ul><li>Latency components </li></ul><ul><ul><li>Server processing </li></ul></ul><ul><ul><li>SQL processing, # SQL round trips, AJAX processing, security trimming </li></ul></ul><ul><ul><li>Client processing </li></ul></ul><ul><ul><li>Javascript, CSS, AJAX requests, HTML load, Client machine specs </li></ul></ul><ul><ul><li>Wire transfer </li></ul></ul><ul><ul><li>Bandwidth, size of download </li></ul></ul><ul><li>Recommendations </li></ul><ul><ul><li>Primary cause of latency problems: custom web parts </li></ul></ul><ul><ul><li>Watch for: SQL round trips, unnecessary data, excessive client side script </li></ul></ul><ul><ul><li>Re-use existing client code versus adding more </li></ul></ul><ul><ul><li>Design code for performance – (Use HTML and .Net best practices) </li></ul></ul><ul><ul><li>Profile your solutions </li></ul></ul>
    26. 27. Plan Hardware and Storage Phase 3 – How SharePoint Scales <ul><li>Designed to grow with organization needs </li></ul><ul><ul><li>Server resources: x32, x64, CPU, RAM, HDD </li></ul></ul><ul><ul><ul><li>Recommend 64-bit for back end services (SQL) which can leverage additional addressable memory </li></ul></ul></ul><ul><ul><ul><li>SQL: HDD configuration critical </li></ul></ul></ul><ul><ul><li>Server Farm </li></ul></ul><ul><ul><ul><li>Topology restrictions removed </li></ul></ul></ul><ul><ul><ul><li>WFE, Query, Index, Excel Calc, Project, SQL </li></ul></ul></ul><ul><ul><li>Adopted WSS adage: content only limited by HW capability* </li></ul></ul><ul><ul><ul><li>Sites: In WSS 3.0, Portals sites are &quot;just another WSS site” </li></ul></ul></ul>
    27. 28. Plan Hardware and Storage Phase 3 – 64-bit vs. 32-bit Hardware <ul><li>WSS 3.0 and MOSS 2007 can work on both </li></ul><ul><li>64-bit Hardware Recommended </li></ul><ul><ul><li>32-bit can directly address only a 4GB Memory Address Space </li></ul></ul><ul><ul><li>64-bit supports up to 1,024 GB Memory (Physical and/or Addressable) </li></ul></ul><ul><ul><li>32-bit will look better and perform better with 2GB RAM, but we recommend 64-bit for future investments and scale </li></ul></ul><ul><li>Larger # of Processors </li></ul><ul><li>64-bit HW Prioritization </li></ul><ul><ul><li>SQL Server  Index  Excel  Search  WFE </li></ul></ul><ul><ul><li>*64-bit hardware can be mixed within a farm </li></ul></ul><ul><ul><li>* Adobe does not have PDF Ifilter for x64 </li></ul></ul>
    28. 29. Plan Hardware and Storage Phase 3 – Single Server Example <ul><li>One Server Configured as: </li></ul><ul><ul><li>Web Front-End Server Role </li></ul></ul><ul><ul><li>Application Server Role </li></ul></ul><ul><ul><li>Database Server Role </li></ul></ul><ul><li>Appropriate for limited use-scenarios including the following: </li></ul><ul><ul><li>Installing Office SharePoint Server 2007 for evaluation purposes. </li></ul></ul><ul><ul><li>Deploying only Microsoft Windows SharePoint Services 3.0. </li></ul></ul><ul><ul><li>Deploying a subset of the Office SharePoint Server 2007 features. </li></ul></ul><ul><ul><li>Deploying Office SharePoint Server 2007 for a limited purpose (such as for a single department) or for a limited number of users. </li></ul></ul>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
    29. 30. Plan Hardware and Storage Phase 3 – Multi-Server Farm Example <ul><li>Optimizes performance of web servers </li></ul><ul><li>Increases redundancy and reduces points of failure </li></ul><ul><ul><li>Redundancy at WFE and Database server roles </li></ul></ul><ul><li>Determine configuration based on your business needs and goals </li></ul><ul><ul><li>Determine config of other Application roles (Excel Services, Index, Forms, etc) </li></ul></ul>Web Servers Application Server Clustered SQL Server
    30. 31. Plan Hardware and Storage Phase 3 – Storage Considerations <ul><li>Primary Metric: Document Storage </li></ul><ul><ul><li>Plan for 1.2 – 1.5 x file system size for SQL Server </li></ul></ul><ul><ul><li>note: metric is closely tied to RAID level used on SQL disks </li></ul></ul><ul><li>Secondary Metric: Index Size </li></ul><ul><ul><li>Index Server: ~10% of total size of all indexable content </li></ul></ul><ul><ul><li>Query Server: 2+ x index size (master merge) </li></ul></ul>
    31. 32. <ul><li>Phases </li></ul><ul><ul><li>Phase 1: Plan for Software Boundaries </li></ul></ul><ul><ul><li>Phase 2: Estimate Performance and Capacity Requirements </li></ul></ul><ul><ul><li>Phase 3: Plan Hardware and Storage Requirements </li></ul></ul>
    32. 33. <ul><li>Tools </li></ul><ul><ul><li>Visual Studio Team System Test Edition (VSTT) </li></ul></ul><ul><ul><li>WSSDW.exe (on </li></ul></ul><ul><li>When? </li></ul><ul><ul><li>Initial deployments </li></ul></ul><ul><ul><li>New hardware configurations </li></ul></ul><ul><ul><li>Impact of scaling across or up </li></ul></ul><ul><ul><li>Validating custom solutions </li></ul></ul><ul><ul><li>Debugging performance related issues </li></ul></ul>
    33. 34. <ul><li>Data for testing (Sites, Search terms, lists, documents etc) </li></ul><ul><li>A test farm with enough servers to mirror a topology you are testing for </li></ul><ul><li>A VSTT controller machine (2-4 GB RAM); preferably with SQL Server 2005 to store the test results </li></ul><ul><li>VSTT clients machines; preferably physical; with at least 2GB of RAM to support many concurrent connections </li></ul><ul><li>Create VSTT Test Project (Web and Load) </li></ul>
    34. 35. <ul><li>Establish a purpose for testing. What are you testing for? </li></ul><ul><li>Usage Profiles </li></ul><ul><li>Create a good test plan with mix of different types of test </li></ul><ul><li>Setting up the VSTT rig with Controller, Clients and Database </li></ul><ul><li>Create Test data (Sites, Content etc) </li></ul><ul><ul><li>Can use SharePoint 2007 Test Data Population Tool on CodePlex ( ) </li></ul></ul><ul><ul><li>Uses a xml Configuration file to load or delete data </li></ul></ul><ul><li>Create VSTT web tests for each scenario identified </li></ul><ul><li>Customize Web test as needed to read variable data from an external data source </li></ul><ul><li>Determining what your peak loads are. </li></ul><ul><li>Create Load test profile, think times, new users and capturing counters ,Page hit frequency, Web test frequency, Test run times, effect of Async jobs </li></ul><ul><li>Configure other test properties like warm up time, Connection type etc </li></ul><ul><li>VSTT automatically collects data from all client machines and aggregates them </li></ul><ul><li>Analyzing test data remotely </li></ul>
    35. 36. Server Role Performance Counter All Servers MemoryAvailable Megabytes All Servers Memory Committed Bytes in Use All Servers MemoryPages/second All Servers SystemProcessor Queue Length All Servers ProcessorProcessor Time All Servers NetworkNetwork Queue Length Web Front-End Server Process (w3wp)Processor Time Web Front-End Server Process (w3wp)Private Bytes Web Front-End Server Web ServiceConnection Attempts/second Web Front-End Server Requests Per Second SQL Server Process (sqlserver) Processor Time SQL Server Process (sqlserver)Private Bytes
    36. 37. <ul><li>Setup your Rig </li></ul><ul><li>Create your content (Data Load Tool or Manually) </li></ul><ul><li>Create your tests (web, load) </li></ul><ul><li>Configure the test parameters </li></ul><ul><li>Run. Measure. Rinse. Repeat. </li></ul>
    37. 38. Understanding Performance Using Perfmon with SharePoint
    38. 39. <ul><li>SharePoint sends down a relatively large payload when you visit the site; even though it is improved from SPS 2003 </li></ul><ul><li>This payload comes from jScript files, IE Behaviors, and images, in addition to the text content </li></ul><ul><li>Some elements continue to come down </li></ul><ul><ul><li>Multiple times on a single page </li></ul></ul><ul><ul><li>Download again during same browser session on the same site </li></ul></ul><ul><li>Example… </li></ul>
    39. 40. 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)
    40. 41. <ul><li>HTTP Compression is enabled and turned on by default for Static files like .js, .css etc </li></ul><ul><li>Aspx pages need to be added </li></ul><ul><li>Compression improves latency and decreases payload size </li></ul><ul><li>Compression affects up to 15% throughput </li></ul>
    41. 42. <ul><li>Caching </li></ul><ul><ul><li>Output caching and Cache Profiles: At an Individual Page Level </li></ul></ul><ul><ul><li>Disk-based caching: Individual binary large object (BLOB) level and caches images, sound, movies, and code </li></ul></ul><ul><ul><ul><li><BlobCache location=&quot;C:lobCache&quot; path=&quot;.(gif|jpg|png|css|js)$&quot; maxSize=&quot;10&quot; max-age=&quot;86400&quot; enabled=&quot;false&quot;/> in the web.config file for a web application </li></ul></ul></ul><ul><ul><li>Object Caching: Individual Web Part control, field control, and content level </li></ul></ul>
    42. 43. Troubleshooting <ul><li>Poor throughput </li></ul><ul><ul><li>SQL – use SQL best practices for perf; especially disk perf </li></ul></ul><ul><ul><li>Asynchronous operations and timer job conflicts </li></ul></ul><ul><ul><li>Resource contention: # web apps, app pools, DBs, etc. </li></ul></ul><ul><ul><li>Check ANY custom code for SQL round trips and payload </li></ul></ul><ul><ul><li>Look for mis-configured network components (NICs, routers, etc.) </li></ul></ul><ul><ul><li>Search consumes multiple resources </li></ul></ul><ul><li>Poor end user perceived latency </li></ul><ul><ul><li>Page payload </li></ul></ul><ul><ul><ul><li>OOB 1st page download ~ 200 KB; should not be significantly higher </li></ul></ul></ul><ul><ul><ul><li>Use page compression where possible </li></ul></ul></ul><ul><ul><li>Caching strategy: Turn on BLOB and Output caching whenever possible </li></ul></ul><ul><ul><li>Client machine specs </li></ul></ul><ul><ul><li>Mis-configured network (see above) </li></ul></ul>
    43. 44. HP Performance Tests <ul><li>HP recommends X64 2-socket dual-core servers with at least 4GB memory. </li></ul><ul><li>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. </li></ul><ul><li>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. </li></ul>
    44. 45. Read-only workload <ul><li>WFE Server RPS WFE CPU% SQL CPU% Net KB/sec </li></ul><ul><li>BL20p G3 SC X86 60 85 10 6700 </li></ul><ul><li>BL20p G4 DC X86 148 85 32 10000 </li></ul><ul><li>BL20p G4 DC X64 140 85 32 10000 </li></ul><ul><li>BL25p G1 DC X86 132 85 28 8900 </li></ul><ul><li>BL25p G1 DC X64 124 85 24 7900 </li></ul><ul><li>DL385 G2 DC X64 * 138 85 30 9800 </li></ul><ul><li>DL385 G2 DC X64 ** 100 75 14 7000 </li></ul><ul><li>DL385 G2 DC X64 *** 85 65 12 6000 </li></ul><ul><li>DC= Dual Core </li></ul>
    45. 46. Table 2. Read/write workload <ul><li>WFE Server RPS WFE CPU% SQL CPU% Net KB/sec </li></ul><ul><li>BL20p G4 DC X86 126 85 34 9000 </li></ul><ul><li>BL20p G4 DC X64 120 85 34 9000 </li></ul><ul><li>BL25p G1 DC X86 112 85 31 8200 </li></ul><ul><li>BL25p G1 DC X64 105 85 30 7700 </li></ul><ul><li>DL385 G2 DC X64 118 85 33 8700 </li></ul><ul><li>* Dual Core is nearly double performance of single core and quad core is anticipated 1.8 X performance of dual core. </li></ul>
    46. 47. HP Learnings <ul><li>Office SharePoint Server 2007 sites, assume a per-WFE server throughput maximum of 100-120 requests/second </li></ul><ul><li>If the Query Search service will be running on the WFE servers, use 85 requests/second. </li></ul><ul><li>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 </li></ul><ul><li>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. </li></ul><ul><li>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 </li></ul>
    47. 48. Best practices for capacity planning <ul><li>Start big enough but not too big </li></ul><ul><li>Do proper monitoring in order to know what/when to grow </li></ul><ul><li>Go 64 bit where possible </li></ul><ul><ul><li>PDF iFilter is currently only available in 32bit </li></ul></ul><ul><li>Plan End to End user experience </li></ul><ul><ul><li>Bandwidth </li></ul></ul><ul><ul><li>Latency </li></ul></ul><ul><ul><li>Payload </li></ul></ul>06/06/09
    48. 49. Related Content <ul><li>Planning and Architecture for Office SharePoint Server 2007 </li></ul><ul><ul><li>Plan for Performance and Capacity: </li></ul></ul><ul><ul><li>Design Server Farms and Topologies: </li></ul></ul><ul><li>Watch the Blogs: </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><li>HP Performance Whitepaper </li></ul><ul><li> </li></ul><ul><li>Dell Case Study </li></ul><ul><li> </li></ul>