SlideShare a Scribd company logo
Highly Available, Scalable, and Performant ArchitecturesFor SharePoint 2010SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
About Me?About Me:  Over 6 years of experience SharePoint Architecture Experience, trained SharePoint architecture and development classes for nationally renown SharePoint-focused training organization.Training & Certifications:MCTIP: SharePoint 2010 Administration
MCPD: SharePoint 2010 Development
Microsoft’s SharePoint Masters Training (Redmond, WA)Other Notable Experience:Published Author on SharePoint 2010 (SharePoint 2010 Workflows in Action)
National Speaker at SharePoint Conferences (The Experts Conference-LA, SharePoint Technology Conference-San Fran, TechFuse-MN, SharePoint Saturdays)
SharePoint Blog: www.philwicklund.comAgendaWhat is availability?2007 vs. 2010 ConsiderationsWeb TierApp TierSearch and FAST SearchExcel Services, PowerPivot, and PerformancePointOffice Web Apps, Word, and Visio ServicesWorkflowSandboxesSQL TierVirtualizationNew health and monitoring featuresSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
What is Availability?
What is availability?No single point of failurePerformance – horrible performance can mean it’s not availableDisaster recoverySLA (.9999, .999, etc)SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
What is availability?No single point of failureSharePoint Services: IIS (WFEs)? Search crawl? Search query? Excel Services? OWA? Workflow? Visio? Word automation? Performance Point? Etc.Network: NICs? Routers? load balancers? Etc.SQL & Storage: RAID? Mirroring? Shipping? SAN? Etc.Datacenter: redundant across DCs?2 WFEs != Redundant!SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
What is availability?10,000 users DOES NOT EQUAL 2 WFEs, 1 app server, and 1 SQL server EVERY TIME!!!!Performance considerations:STOP LOOKING AT # OF USERS!Instead focus on what services, and RPSRPS – cue your Business AnalystYou could host 1 million SharePoint users on a laptop if you only get 1 RPH!THEN TEST IT!
2007 vs 20102007: Index server wasn’t scalable2010: TONS MORE SERVICES!Know what services you enable, and why because there can be huge performance implications.EXPECT TO BUY MORE HARDWARE (or dedicate more virtual servers and virtual resources)Some throw out 2x, but you can do better than thumb in the air hereSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
Load BalancingWeb Front End and SQL ratioWeb Tier
Web TierLoad balancing:WNLB (software LB)F5 (or other hardware LB)Network RedundancyPerformance sizing:3 to 1 optimal WFE to SQL ratioMinimum 8GB RAM w/ 2 coresTry to keep application services off WFEsSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
SearchFAST SearchExcel Services / PowerPivotPerformance PointOffice Web Apps, Word, and Visio ServicesWorkflowSandboxesApplication Tier
SearchComponents and TerminologyAdmin ComponentCrawl ComponentCrawl DatabasesQuery ComponentIndex PartitionQuery ProcessorProperty DatabasesTopology ExamplesSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
SearchAdmin Componentprocesses config changes (search administration)no redundancy but search still works if it goes downAdmin DatabaseMSSSecurityDescriptorstable ALWAYS in RAM on SQL redundant through mirroring - search stops if DB goes downSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
SearchCrawl ComponentSupports Active/PassiveCan have multiple active crawlersEven multiple per server where CPU is main limitationCrawl DatabaseCrawl Queue – only one crawl component can crawl a host at a time!Get around this by adding more crawl components.Place on dedicated spindles (target 3.5k – 7k IOPs)Optimize speed by adding DBs and using Host Destination Rules to allocate hosts to a particular DB.Tends to reset SQL cache (isolate this DB!)SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
SearchQuery ComponentSupports Active/PassiveCan have multiple active query seversEven multiple per server where CPU is main limitationNote – 1 per index partitionIndex partitions“partition” of the index as a wholeMax 10m itemsSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
SearchQuery ProcessorInitiates query to query servers and partitionsPerforms meta data lookup w/ Property DBGets results and…Performs security trimmingCalculates relevancyfinalizes result set and returns resultsState-less. Can add this role wherever, just note CPU costs and memory costs.RAM – ensure you can dedicate size of MSSSecurityDescriptorstable wherever this component exists.SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
SearchProperty DBIndex Partition assigned to a prop DBProp Db can have multiple partitions.Max 50m itemsLargest search DBRecommendations:Keep 33% of critical tables in SQL’s RAM (MSSDocsSDIDs, MSSDocProps, and MSSDocresults)Dedicate spindles that can support 7k IOPsSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
SearchCrawler Redundancy:
SearchQuery Redundancy:
SearchSummary of recommendations:Pair Active/Failover components – try to avoid having 2 active components of same type on same server.Use host distribution rulesDeploy DBs on dedicated spindles with guarantee of 7k IOPsAgain, crawl DB does not play nice!Have 2 cores available for each active component, and one additional core for each failoverPair with other services with great caution!SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
FAST SearchMedium farm supporting roughly 40m documents.PROBLEM? NOT REDUNDANT!Courtesy - technet
FAST SearchHow many index columns?1 index column= roughly 3.6TB of indexed content.Content size * multiplier / 3.6 = # of index columns (round up and account for growth)Eg: 10TB * .5 = 5 TB5TB / 3.6 = 2 index columns (rounded up for growth)Multiplier.3-.5 for binary (Word, PowerPoint, etc)3-5 for .txt1.5 – 2.5 for HTMLSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
FAST SearchMinimum to achieveredundancy for indexingand query matchingcomponents, given 10TB of binary content.Note – the other components are stateless and can go anywhere, but depending on hardware may want more than 4 to accommodateSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
FAST SearchHowever, index performance is inhibited because of potential query load, so add another search row to free up the index server.
FAST SearchEach query matcher component can handle 5-50 QPS (depending on features) – so scale out to match your expected QPS
FAST SearchHowever, each index server can handle about 35 docs / second, so you may want to add more index columns to meet freshness requirements:
FAST SearchDon’t forget about redundancy in your SharePoint Farm!People search (>= 2 crawl components and query components)FAST SharePoint ConnectorSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
Excel Services &PowerPivot1 Technology, 2 tools: PP for SharePoint & PP for ExcelLoad BalancingRound robinHealth basedMem firstCPU secondCached files will greatly affect the selection of the final target serverFile size relates to RAM on client/server2x ratio (if file is 1GB, account for 2GB ram)PP is NOT claims aware - can't run on a web app that is setup as claims - only works in Classic modeSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
Excel Services & PowerPivotRecommendations (especially for PP):8GB RAM minimum – reality, a lot more!4 procs, 16 coresObvious conclusion – PHYSICAL SERVERSTrusted file locations (PP “Side Effect”)Maximum workbook sizeAllow external data (enables PP)Warn on refreshWeb app settingsMax upload sizeSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
Performance PointHEAVY MEMORY UTILIZATION! Cache, cache, cache!Examples - App objects, Query metadata, Filter data, Query results, Rendered viewThere are a bunch of PPS counters to look at cache effectivenessCache overviewStandard first big hitHowever, rendered views are usage basedEach PPS server is responsible for it's own cacheCache settingsCan toggle how long things are cached, includingUser identity and privilegesFiltersHowever - SSAS data is ALWAYS up to date because PPS can look at the timestamp on the data to see if it changed. All other datasources are cached until cache dies.SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
Performance PointData retrievalONLY AS PERFORMANT AS THE DATA LAYER UNDERNEATHA scorecard is individual row(s), eg for each row in the card you have a query – so BE CAREFUL!SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
Office Web AppsTakes an Office doc and converts it to HTML/CSS/JS/ImagesCheck cache > SA gets doc > SA spins up WP to convert > store in cache > RenderIncludes Word, PowerPoint, and Visio servicesRESOURCE INTENSE!Worker process for each sessionEach doc cached in memory and temporarily to diskSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
Office Web AppsEnable Word, PP, Visio service app on 2 or more app serversRecommendations:Word & PowerPoint worker processesRecommendation - run 2 worker processes for each core (configured via PS)Configure OWA Cache site and expiration periodConfigure Cache database location (which SQL server)SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
WorkflowWhere is workflow processed?WFE if <= threshold (default is 15 WF across farm)Timer job > thresholdStart the OWSTimer service (every 5 minutes):Workflow timer batch size: default is 100Batch size is per content DBSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
WorkflowRecommendations:Set threshold to 0 forcing workflow load onto OWSTimerSet-SPFarmConfig –WorkflowPostponeThreshold  0Start WF service on 2+ app servers, keeping WFEs free of loadCranking up batch size seems wise, but be careful!SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
SandboxesPLAN WHERE TO START THIS SERVICE!Recommendations:By default there is only 1 worker process per serverFor optimal performance change this to # of cores +1 via PowerShellSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
SQL ClusteringSQL MirroringSQL LoggingDatabase Availability
ClusteringServer instance redundancy:Note: NOT database redundancySharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
MirroringData & Server instance redundancy:Synchronous or Asynchronous (think latency/bandwidth)SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
Clustering AND MirroringSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
Log ShippingSend log and forgetGood for test and stage environmentsGood for PATCHING!(next slide)SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
Clustering, Mirroring, AND Shipping! – OH MY!
Virtualization & Stretching
VirtualizationYes: WFEs & App serversNo (although fully supported): Excel Services (PP), SQLHost can be single point of failureDon’t over subscribe hosts NUMA boundariesSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
StretchingMDHA – multi datacenter highly available2 close DCs< 1ms latency>= 1GB/sec bandwidth
Health and Monitoring
Health Analyzer and ScoreHealth Analyzer“Health Rules” – OOB and build your ownHealth ScoreFarm scored 1-10, Request throttling starts at 10User requests last to be throttledPUT requests never throttled

More Related Content

PPTX
Avoiding 10 common SharePoint Administration mistakes
PPT
2010preparingforupgradeoleson
PPTX
Understanding and Configuring an Effective SharePoint 2013 Search
PPTX
What SQL DBAs need to know about SharePoint-Indianapolis 2013
PPTX
Sql Server Tuning for SharePoint : what every consultant must know (Office 36...
PPTX
SharePoint 2013 search improvements
PDF
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
PPTX
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
Avoiding 10 common SharePoint Administration mistakes
2010preparingforupgradeoleson
Understanding and Configuring an Effective SharePoint 2013 Search
What SQL DBAs need to know about SharePoint-Indianapolis 2013
Sql Server Tuning for SharePoint : what every consultant must know (Office 36...
SharePoint 2013 search improvements
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...

What's hot (20)

PPTX
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
PDF
SharePoint Performance Optimization In 10 Steps for the IT Professional
PDF
Planning SharePoint 2013 Search for IT PROs
PPTX
SharePoint 2013 Performance Analysis - Robi Vončina
PPTX
SharePoint and Large Scale SQL Deployments - NZSPC
PDF
SharePoint 2010 Boost your farm performance!
PPTX
SharePoint 2016 The Future is Hybrid, what you need to know about it
PPTX
What SharePoint Admins need to know about SQL-Cinncinati
PPTX
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
PPTX
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
PPTX
SharePoint Performance: Best Practices from the Field
PPT
SharePoint Microsoft IT - Swiss Presentation with Joel and Andre
PPT
SharePoint 2010: Business Insights
PPTX
Effective SharePoint Architecture - SharePoint Saturday Stockholm 2016
PPTX
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
PPTX
SharePoint Connections Coast to Coast Overview of Enterprise Content Management
PPTX
SharePoint 2010 Upgrade Best Practices Teched Brazil by Joel Oleson
PPT
SharePoint Topology
PPTX
SharePoint On-Premises Nirvana
PDF
SharePoint 2013 Performance Enhancements
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
SharePoint Performance Optimization In 10 Steps for the IT Professional
Planning SharePoint 2013 Search for IT PROs
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint and Large Scale SQL Deployments - NZSPC
SharePoint 2010 Boost your farm performance!
SharePoint 2016 The Future is Hybrid, what you need to know about it
What SharePoint Admins need to know about SQL-Cinncinati
SharePoint Intelligence Extending Share Point Designer 2010 Workflows With Cu...
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
SharePoint Performance: Best Practices from the Field
SharePoint Microsoft IT - Swiss Presentation with Joel and Andre
SharePoint 2010: Business Insights
Effective SharePoint Architecture - SharePoint Saturday Stockholm 2016
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
SharePoint Connections Coast to Coast Overview of Enterprise Content Management
SharePoint 2010 Upgrade Best Practices Teched Brazil by Joel Oleson
SharePoint Topology
SharePoint On-Premises Nirvana
SharePoint 2013 Performance Enhancements
Ad

Viewers also liked (6)

PPTX
The Transforming Enterprise
PPTX
N tier enterpriseappswithacs_10252012
PPTX
Transforming an Enterprise with Business Process Solutions
KEY
Enterprise 2.0 - Transforming Collaborative Work
PPTX
Enterprise 3.0 - Driving Employee Loyalty with Gamification
PDF
Enterprise 3.0 new
The Transforming Enterprise
N tier enterpriseappswithacs_10252012
Transforming an Enterprise with Business Process Solutions
Enterprise 2.0 - Transforming Collaborative Work
Enterprise 3.0 - Driving Employee Loyalty with Gamification
Enterprise 3.0 new
Ad

Similar to Highly available and scalable architectures (20)

PPTX
SharePoint Intelligence Real World Business Workflow With Share Point Designe...
PPT
Back to the Basics: SharePoint Fundamentals by Joel Oleson
PPT
MOSS 2007 Deployment Fundamentals -Part2
PPTX
FAST for SharePoint Deep Dive
PPTX
Teched Middle East New World of SharePoint 2010 Administration with Joel Oles...
PPT
Sql And Storage Considerations For Share Point Server 2010
PPTX
Solve Todays Problems with 10 New SharePoint 2010 Features
PPTX
SharePoint 2016 Is Coming! Are You Ready?
PPTX
Real world business workflow with SharePoint designer 2013
PPTX
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
PPTX
Large Scale SharePoint SQL Deployments
PPTX
A Deep Dive into SharePoint 2016 architecture and deployment
PPTX
SPSPTCDC - SharePoint Admin 101 - SpeedMetal - PowerUser to Admin in 75 Minutes
PPTX
SharePoint 2010 High Availability - SPC2C
PPTX
Sharepoint designer workflow by quontra us
PPT
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
PPTX
Ordina SOFTC Presentation - SharePoint 2010 Architecture
PPT
Asia Pacific SharePoint Capacity Planning by Joel Oleson
PPTX
So You Want to Be a SharePoint Developer - SPS Utah 2015
PPTX
SPCSEA 2013 - Setting up SharePoint 2013: Tips and Tricks and PowerShell Scripts
SharePoint Intelligence Real World Business Workflow With Share Point Designe...
Back to the Basics: SharePoint Fundamentals by Joel Oleson
MOSS 2007 Deployment Fundamentals -Part2
FAST for SharePoint Deep Dive
Teched Middle East New World of SharePoint 2010 Administration with Joel Oles...
Sql And Storage Considerations For Share Point Server 2010
Solve Todays Problems with 10 New SharePoint 2010 Features
SharePoint 2016 Is Coming! Are You Ready?
Real world business workflow with SharePoint designer 2013
Datapolis Guest Expert Presentation: Top 15 SharePoint Server Configuration M...
Large Scale SharePoint SQL Deployments
A Deep Dive into SharePoint 2016 architecture and deployment
SPSPTCDC - SharePoint Admin 101 - SpeedMetal - PowerUser to Admin in 75 Minutes
SharePoint 2010 High Availability - SPC2C
Sharepoint designer workflow by quontra us
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
Ordina SOFTC Presentation - SharePoint 2010 Architecture
Asia Pacific SharePoint Capacity Planning by Joel Oleson
So You Want to Be a SharePoint Developer - SPS Utah 2015
SPCSEA 2013 - Setting up SharePoint 2013: Tips and Tricks and PowerShell Scripts

More from Phil Wicklund (6)

PPTX
SharePoint Silverlight Sandboxed solutions
PPTX
How to Effectively Govern your SharePoint Content, Deployments, and Developer...
PPTX
SharePoint 2010 Client-side Object Model
PPTX
Custom SharePoint 2010 solutions without server access
PPT
SharePoint 2010 Workflows
PPT
SharePoint 2010 branding
SharePoint Silverlight Sandboxed solutions
How to Effectively Govern your SharePoint Content, Deployments, and Developer...
SharePoint 2010 Client-side Object Model
Custom SharePoint 2010 solutions without server access
SharePoint 2010 Workflows
SharePoint 2010 branding

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Modernizing your data center with Dell and AMD
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
KodekX | Application Modernization Development
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Chapter 3 Spatial Domain Image Processing.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Reach Out and Touch Someone: Haptics and Empathic Computing
Modernizing your data center with Dell and AMD
Unlocking AI with Model Context Protocol (MCP)
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Building Integrated photovoltaic BIPV_UPV.pdf
cuic standard and advanced reporting.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
MYSQL Presentation for SQL database connectivity
Understanding_Digital_Forensics_Presentation.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Spectral efficient network and resource selection model in 5G networks
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Per capita expenditure prediction using model stacking based on satellite ima...
KodekX | Application Modernization Development

Highly available and scalable architectures

  • 1. Highly Available, Scalable, and Performant ArchitecturesFor SharePoint 2010SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 2. About Me?About Me: Over 6 years of experience SharePoint Architecture Experience, trained SharePoint architecture and development classes for nationally renown SharePoint-focused training organization.Training & Certifications:MCTIP: SharePoint 2010 Administration
  • 4. Microsoft’s SharePoint Masters Training (Redmond, WA)Other Notable Experience:Published Author on SharePoint 2010 (SharePoint 2010 Workflows in Action)
  • 5. National Speaker at SharePoint Conferences (The Experts Conference-LA, SharePoint Technology Conference-San Fran, TechFuse-MN, SharePoint Saturdays)
  • 6. SharePoint Blog: www.philwicklund.comAgendaWhat is availability?2007 vs. 2010 ConsiderationsWeb TierApp TierSearch and FAST SearchExcel Services, PowerPivot, and PerformancePointOffice Web Apps, Word, and Visio ServicesWorkflowSandboxesSQL TierVirtualizationNew health and monitoring featuresSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 8. What is availability?No single point of failurePerformance – horrible performance can mean it’s not availableDisaster recoverySLA (.9999, .999, etc)SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 9. What is availability?No single point of failureSharePoint Services: IIS (WFEs)? Search crawl? Search query? Excel Services? OWA? Workflow? Visio? Word automation? Performance Point? Etc.Network: NICs? Routers? load balancers? Etc.SQL & Storage: RAID? Mirroring? Shipping? SAN? Etc.Datacenter: redundant across DCs?2 WFEs != Redundant!SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 10. What is availability?10,000 users DOES NOT EQUAL 2 WFEs, 1 app server, and 1 SQL server EVERY TIME!!!!Performance considerations:STOP LOOKING AT # OF USERS!Instead focus on what services, and RPSRPS – cue your Business AnalystYou could host 1 million SharePoint users on a laptop if you only get 1 RPH!THEN TEST IT!
  • 11. 2007 vs 20102007: Index server wasn’t scalable2010: TONS MORE SERVICES!Know what services you enable, and why because there can be huge performance implications.EXPECT TO BUY MORE HARDWARE (or dedicate more virtual servers and virtual resources)Some throw out 2x, but you can do better than thumb in the air hereSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 12. Load BalancingWeb Front End and SQL ratioWeb Tier
  • 13. Web TierLoad balancing:WNLB (software LB)F5 (or other hardware LB)Network RedundancyPerformance sizing:3 to 1 optimal WFE to SQL ratioMinimum 8GB RAM w/ 2 coresTry to keep application services off WFEsSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 14. SearchFAST SearchExcel Services / PowerPivotPerformance PointOffice Web Apps, Word, and Visio ServicesWorkflowSandboxesApplication Tier
  • 15. SearchComponents and TerminologyAdmin ComponentCrawl ComponentCrawl DatabasesQuery ComponentIndex PartitionQuery ProcessorProperty DatabasesTopology ExamplesSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 16. SearchAdmin Componentprocesses config changes (search administration)no redundancy but search still works if it goes downAdmin DatabaseMSSSecurityDescriptorstable ALWAYS in RAM on SQL redundant through mirroring - search stops if DB goes downSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 17. SearchCrawl ComponentSupports Active/PassiveCan have multiple active crawlersEven multiple per server where CPU is main limitationCrawl DatabaseCrawl Queue – only one crawl component can crawl a host at a time!Get around this by adding more crawl components.Place on dedicated spindles (target 3.5k – 7k IOPs)Optimize speed by adding DBs and using Host Destination Rules to allocate hosts to a particular DB.Tends to reset SQL cache (isolate this DB!)SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 18. SearchQuery ComponentSupports Active/PassiveCan have multiple active query seversEven multiple per server where CPU is main limitationNote – 1 per index partitionIndex partitions“partition” of the index as a wholeMax 10m itemsSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 19. SearchQuery ProcessorInitiates query to query servers and partitionsPerforms meta data lookup w/ Property DBGets results and…Performs security trimmingCalculates relevancyfinalizes result set and returns resultsState-less. Can add this role wherever, just note CPU costs and memory costs.RAM – ensure you can dedicate size of MSSSecurityDescriptorstable wherever this component exists.SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 20. SearchProperty DBIndex Partition assigned to a prop DBProp Db can have multiple partitions.Max 50m itemsLargest search DBRecommendations:Keep 33% of critical tables in SQL’s RAM (MSSDocsSDIDs, MSSDocProps, and MSSDocresults)Dedicate spindles that can support 7k IOPsSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 23. SearchSummary of recommendations:Pair Active/Failover components – try to avoid having 2 active components of same type on same server.Use host distribution rulesDeploy DBs on dedicated spindles with guarantee of 7k IOPsAgain, crawl DB does not play nice!Have 2 cores available for each active component, and one additional core for each failoverPair with other services with great caution!SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 24. FAST SearchMedium farm supporting roughly 40m documents.PROBLEM? NOT REDUNDANT!Courtesy - technet
  • 25. FAST SearchHow many index columns?1 index column= roughly 3.6TB of indexed content.Content size * multiplier / 3.6 = # of index columns (round up and account for growth)Eg: 10TB * .5 = 5 TB5TB / 3.6 = 2 index columns (rounded up for growth)Multiplier.3-.5 for binary (Word, PowerPoint, etc)3-5 for .txt1.5 – 2.5 for HTMLSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 26. FAST SearchMinimum to achieveredundancy for indexingand query matchingcomponents, given 10TB of binary content.Note – the other components are stateless and can go anywhere, but depending on hardware may want more than 4 to accommodateSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 27. FAST SearchHowever, index performance is inhibited because of potential query load, so add another search row to free up the index server.
  • 28. FAST SearchEach query matcher component can handle 5-50 QPS (depending on features) – so scale out to match your expected QPS
  • 29. FAST SearchHowever, each index server can handle about 35 docs / second, so you may want to add more index columns to meet freshness requirements:
  • 30. FAST SearchDon’t forget about redundancy in your SharePoint Farm!People search (>= 2 crawl components and query components)FAST SharePoint ConnectorSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 31. Excel Services &PowerPivot1 Technology, 2 tools: PP for SharePoint & PP for ExcelLoad BalancingRound robinHealth basedMem firstCPU secondCached files will greatly affect the selection of the final target serverFile size relates to RAM on client/server2x ratio (if file is 1GB, account for 2GB ram)PP is NOT claims aware - can't run on a web app that is setup as claims - only works in Classic modeSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 32. Excel Services & PowerPivotRecommendations (especially for PP):8GB RAM minimum – reality, a lot more!4 procs, 16 coresObvious conclusion – PHYSICAL SERVERSTrusted file locations (PP “Side Effect”)Maximum workbook sizeAllow external data (enables PP)Warn on refreshWeb app settingsMax upload sizeSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 33. Performance PointHEAVY MEMORY UTILIZATION! Cache, cache, cache!Examples - App objects, Query metadata, Filter data, Query results, Rendered viewThere are a bunch of PPS counters to look at cache effectivenessCache overviewStandard first big hitHowever, rendered views are usage basedEach PPS server is responsible for it's own cacheCache settingsCan toggle how long things are cached, includingUser identity and privilegesFiltersHowever - SSAS data is ALWAYS up to date because PPS can look at the timestamp on the data to see if it changed. All other datasources are cached until cache dies.SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 34. Performance PointData retrievalONLY AS PERFORMANT AS THE DATA LAYER UNDERNEATHA scorecard is individual row(s), eg for each row in the card you have a query – so BE CAREFUL!SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 35. Office Web AppsTakes an Office doc and converts it to HTML/CSS/JS/ImagesCheck cache > SA gets doc > SA spins up WP to convert > store in cache > RenderIncludes Word, PowerPoint, and Visio servicesRESOURCE INTENSE!Worker process for each sessionEach doc cached in memory and temporarily to diskSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 36. Office Web AppsEnable Word, PP, Visio service app on 2 or more app serversRecommendations:Word & PowerPoint worker processesRecommendation - run 2 worker processes for each core (configured via PS)Configure OWA Cache site and expiration periodConfigure Cache database location (which SQL server)SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 37. WorkflowWhere is workflow processed?WFE if <= threshold (default is 15 WF across farm)Timer job > thresholdStart the OWSTimer service (every 5 minutes):Workflow timer batch size: default is 100Batch size is per content DBSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 38. WorkflowRecommendations:Set threshold to 0 forcing workflow load onto OWSTimerSet-SPFarmConfig –WorkflowPostponeThreshold 0Start WF service on 2+ app servers, keeping WFEs free of loadCranking up batch size seems wise, but be careful!SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 39. SandboxesPLAN WHERE TO START THIS SERVICE!Recommendations:By default there is only 1 worker process per serverFor optimal performance change this to # of cores +1 via PowerShellSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 40. SQL ClusteringSQL MirroringSQL LoggingDatabase Availability
  • 41. ClusteringServer instance redundancy:Note: NOT database redundancySharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 42. MirroringData & Server instance redundancy:Synchronous or Asynchronous (think latency/bandwidth)SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 43. Clustering AND MirroringSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 44. Log ShippingSend log and forgetGood for test and stage environmentsGood for PATCHING!(next slide)SharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 45. Clustering, Mirroring, AND Shipping! – OH MY!
  • 47. VirtualizationYes: WFEs & App serversNo (although fully supported): Excel Services (PP), SQLHost can be single point of failureDon’t over subscribe hosts NUMA boundariesSharePoint FREEWAREwww.PhilWicklund.com SharePoint CONSULTINGwww.RBAconsulting.com
  • 48. StretchingMDHA – multi datacenter highly available2 close DCs< 1ms latency>= 1GB/sec bandwidth
  • 50. Health Analyzer and ScoreHealth Analyzer“Health Rules” – OOB and build your ownHealth ScoreFarm scored 1-10, Request throttling starts at 10User requests last to be throttledPUT requests never throttled
  • 51. Health ScoreHealth Score Example:CPU cycles/sec0-500 score = 2501-1000 = 51001-1500 = 8> 1500 = 10(start throttling HTTPrequests)Customized via PowerShellScore returned in Response Header
  • 52. Usage LoggingDefault this is not enabled. Only enabled via PowerShell.Configure what counters to log, and how often.What’s logged? Requests (type, source, machine, user), and any counters (think perfmon, like RPS, queue depth, etc)Logging DBCan grow very largeNeeds its own monitoring strategyOOB retains 14 days by default, and extended up to 31 days.Build a warehouse and cubes!