750 likes | 978 Views
SharePoint Saturday: Denver. Dec. 12, 2009. Capacity Planning and Performance. SharePoint 2010. Understanding Your Limits. Shannon Bray. SharePoint Certification Coach Microsoft Certified Trainer Technical Architect: Planet Technologies SharePoint Training Author Courseware
E N D
SharePoint Saturday: Denver Dec. 12, 2009
Capacity Planning and Performance SharePoint 2010 Understanding Your Limits
Shannon Bray • SharePoint Certification Coach • Microsoft Certified Trainer • Technical Architect: Planet Technologies • SharePoint Training Author • Courseware • Video series on TrainingSpot.com • SharePoint: MCTS, MCPD (E), MCSD, MCITP, MCDBA, …
Agenda • Capacity Planning • Latency • Throughput • Capacity Management • Caching • SQL Server • BLOB Storage • Standard Architectures • Questions
Compactly Planning:Definition The process of evaluating a technology against the needs of an organization, and making an educated decision about the configuration and procurement of hardware to meet the demands specific to a system being installed. (End-User Latency, Throughput, Capacity and Data Set, and Reliability)
Compactly Planning:Definition The process of evaluating a technology against the needs of an organization, and making an educated decision about the configuration and procurement of hardware to meet the demands specific to a system being installed. (End-User Latency, Throughput, Capacity and Data Set, and Reliability)
Compactly Planning: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 site can we run on our servers? • How do we validate our design?
Compactly Planning:Challenges • Three Time more Services • More client interaction scenarios • Scales to bigger numbers • More Work • Browsers • WFE • SQL Server
Compactly Planning • Components • Software Boundaries • Throughput Targets • Data Capacity • Hardware • Planning Activities • Plan for Software Boundaries • Estimate Performance and Capacity Requirements • Test Your Design
Compactly Planning • Object Categories • Software Scalability vs. Hardware Scalability • Other Considerations
Compactly Planning: Objects • Site Objects • Site Collections, Web Sites, Libraries, Lists, Documents, etc. • People Objects • User Profiles, security principals, etc. • Search Objects • Search indexes, indexed documents, etc. • Logical Architecture Objects • Service Applications, Site Collections, Databases, Zones, etc. • Physical Objects • Servers: WFE, Database, etc
Compactly Planning: Boundaries • SharePoint Scalability • SQL Server used as the content store • Can scale up and out • When configured properly, can scale to millions of users and terabytes of data • Can store millions of documents and Web sites • Provides a means to delegate administration
Compactly Planning: Boundaries • Software Scalability Recommendations for acceptable performance based on software behavior and characteristics • Hardware Scalability Does not change/modify software behavior or characterizes… 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
Compactly Planning:Limits • Improved • 100 Million Items per Search Index (1 Billion with Fast) • Tens of Millions of Documents/Items in a single list • View/Query 5000 items at a time • Still Remains • 150,000 Site Collections per WebApp • 50,000 Site Collections per Content DB • 100 GB Content DB (W/R)
Compactly Planning:Limits • Service Applications • There is no recommended limit for the number of service applications in a single farm • Application Pools • Memory overhead is 30-50 megabytes (MB) • Can become 800 MB or more!!! • Use eight or fewer application pools http://technet.microsoft.com/en-us/library/cc263121(office.14).aspx
Compactly Planning:Limits • Zones • Up to five zones within a Web application • Content Databases • 100 or less • Site Collections • 50,000 site collections per content database http://technet.microsoft.com/en-us/library/cc263121(office.14).aspx
Compactly Planning:Limits • Sites • Fewer than 250,000 sites per site collection • Host Named Site Collections • Up to 100,000 within a single IIS Web site http://technet.microsoft.com/en-us/library/cc263121(office.14).aspx
Compactly Planning:Limits Content DB Size 1 TB 100 GB Read/Write Mix Write Intensive Mostly Read
Compactly Planning:Limits Content DB Size 1 TB 100 GB Read/Write Mix Write Intensive Mostly Read
Compactly Planning:Limits Content DB Size 1 TB 100 GB Read/Write Mix Write Intensive Mostly Read
Compactly Planning:Physical • Processor: % Processor Time: _Total. • Between 50% - 75% • System: Processor Queue Length: (N/A) • Below two times the number of Core CPUs • Memory: Available Mbytes: (N/A) • 20% of the total physical RAM Free • Memory: Pages/sec • Remains below 100
Compactly Planning:Other • Carefully plan your site hierarchy and design • Minimize # Web applications and application pools • Plan for database growth • Follow data and feature best practices and suggested limits WARNING: Plan for Peak Concurrency
Compactly Planning:Other • Indexing (schedule indexing window off-hours) • Caching Options • Page customizations • Custom Web parts
Latency: Definition The measure of time delay experienced in a system, the precise definition of which depends on the system and the time being measured.
Latency: Causes • Server Processing • SQL Processing, # SQL round trips, AJAX processing, security trimming • Client processing • Javascript, CSS, AJAX, etc • Wire transfer • Bandwidth, size of download
Latency: Network Security Factors • The number and speed of round trips to the authentication provider • Authentication provider processing performance • Anonymous • Kerberos • NTLM • Basic • Forms • Claims
Latency: Network Configuration • Network Interface Card (NIC) • NIC settings • Inbound/Outbound • Switches • Routers • Domain Controllers
Latency: Improvements • Lighter and Faster Pages • Early Rendering • WAN Optimized (IE8 vs. IE7) • Better First and Second Browse (PLT1 and PLT2) • File Open Save Latency Investments (Cobalt Protocol) • Incremental Saves • Saving to machine cache prior to server
Latency: Tools • IE8 JS Profiler – Hit [F12] in IE8 • VRTA (Visual Round Trip Analyzer) • Visual Studio Team System 2010 • Fiddler 2
Latency: Recommendations • Primary in 2007: custom web parts • Watch for: SQL round trips, unnecessary data, excessive client side script • Re-use existing client code versus adding more • Design code for performance (best practices) • Profile your solutions
Throughput: Improvements • Optimized Key Scenarios – reducing transaction cost • Optimized SQL to sustain higher load • Added protection to reduce latency spikes
Throughput : Tools • Logging Database • Developer Dashboards • Large List Throttling • Throttling Excessive Client Load
Throughput : Logging Database • “One Stop Shop” for Health and Usage Data • Data Providers gather data across boxes • Extensible framework • Potential Custom Providers • Potential Data Warehousing • Potential Reporting and Analysis Tools
Throughput: Logging Database DEMO Understanding Your Limits
Throughput : Dev Dashboard • Off by default • Enabled by Farm Administrators • Allows a privileged user to see the cost of the page
Throughput: Dev Dashboard DEMO Understanding Your Limits
Throttling Excessive Client Load • The Server informs Clients on its health condition • The 2010 Clients Tunes down the sync frequency (i.e. PowerPoint Broadcast) • Throttles “low-priority” requests once under stress, and becomes more aggressive before going down • HTTP Throttling
Throughput: Large Lists DEMO Understanding Your Limits
Capacity Management • Tools • Load Test Kit 2010 • SPDiag 2010 SharePoint Administration Tool Kit
Usage Profiles • Usage profile == User community’s behavior • What are the user’s doing? • How often are they doing it? • How many users are on-line at any given time? • Distribution of requests across content • Operation types and frequency
Load Testing • RPS / Server Response Time (TTLB) • Identify your counters that lead to your metrics • WFE • Storage • Network • APP Servers • SQL • Replicate your production environment
Load Testing DEMO Understanding Your Limits
Caching • Output Caching • Caching Profiles • VaryByCustom • Object Caching • Disk-Based Caching for BLOBs
Caching: Output Caching • Native to ASP.NET 2.0 • Foundation of SP2010 caching functionality • Similarly to output caching in ASP.NET 2.0
Caching: Output Caching • Post-Cache Substitution Controls, like login • Default caching behavior for Reader Only • Use Cache Debug Statements