SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Building high scale, high availability websites in SharePoint 2010 Ben Robb MVP, SharePoint Server CTO, cScape Ltd
Agenda What is “high” and why is it important? How do you test performance? What impacts performance? Reducing server load Reducing page payload Reducing requests to the server High availability
What I’m not covering General best practice for deploying large scale SharePoint implementations Deep dive code examples Detailed test planning Metrics SharePoint 2010 only went to RTM last week…
What is “high”? Not as high as you think Most of the pointers in this session can be used by all deployments Trading scale and availability is sometimes a judgement call Most of the strategy in this session is relevant in any web site - ASP.NET applications, MOSS, SP2010
Why is this important? Speed of response is critical to website success Amazon found that a 100ms increase in page response time led to a 1% drop in sales (Kohavi and Longbotham2007) When the homepage of Google Maps was reduced from 100KB to 70-80KB, traffic went up 10% in the first week, and an additional 25% in the following three weeks (Farber 2006)
Reducing set up and running costs Lower hardware costs Lower software costs Lower maintenance costs 		vs. Higher testing and development costs If you don’t do it right first time…
Performance Testing Toolkit Browser Test Tools Fiddler IE Developer Toolbar YSlow Load Test Tools TinyGet Visual Studio Test Edition HP LoadRunner [aka Mercury] External tools SaaS load testers [e.g. Keynote]
Types of performance testing Load testing How does my application perform with the expected number of users? Spike testing How many users do I have when my application fails? Endurance (soak) testing What happens over a long period continuous load?
Goals Set performance goals based on your requirements Concurrency / Throughput Server response times Page weight Develop a test plan What user journeys to test? Benchmark and repeat your tests
Performance Testing
What impacts performance? Workload on the servers in responding to a request The size of the page payload Number of requests to the server
Reduce the workload Server topology Custom code Deployment techniques Caching techniques Offload SSL
Reduce the workloadServertopologies  Follow best practice for scalability of SharePoint Farms Switch off unused services in SharePoint and Windows Separate Authoring Farm from Production Farm Set the Content Databases on Production to be Read-Only Use SQL Mirroring to synchronise between the Author and Production Farm
Reduce the workloadTaxonomy and site structure Don’t mix secure and insecure content Caching efficiencies (Also reduces management overhead)
Reduce the workloadManaged code Apply standard .NET best practice Exception handling Defensively code your applications Do not catch exceptions you can’t handle Fail early Clean up in Finally {} blocks Understand how .NET manages objects
Reduce the workloadManaged code SharePoint specific best practice Be careful of what is going on under the hood ,[object Object],Properly dispose of objects Aggregation / Rollup Use out of the box controls (XsltListView) or if custom code is required use PortalSiteMapProvider or Search Never iterate through collections of strongly typed SharePoint objects
Reduce the workloadDeployment techniques Deploy via Features and Solutions Keep files un-customized Customized pages rely on the safe mode parser
Reduce the workloadCaching techniques Output Caching Use the Anonymous cache profile BLOB caching
Reduce the workloadOffload work to the other servers SSL Resource intensive Should be dealt with by the firewall or dedicated hardware Custom Service Applications Allows you to offload expensive workloads to other servers
Reducing the server workload
Reducing page payload ViewState Valid XHTML No inline style Lazy load JavaScript files IIS Compression
Page payload
Reducing the page payload
Reducing the number of requests Consolidate files together during the build Minimize the number of JS and CSS files you are deploying – either manually or in MSBuild scripts Use AJAX to reduce the number of complete page roundtrips Remove unneeded OOTB scripts and CSS Use CSS Sprites ,[object Object],Use Content Delivery Networks where possible
Reducing page requests
CDNs Content Delivery Networks cache content around the world Reduces latency Scales to millions of users Not applicable for personalised content May require changes to applications to take full advantage
Uses for CDNs Host streaming media “Smooth HD” from Microsoft & Akamai Host standard frameworks - jQuery, AJAX http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js Host complete sites Uses Akamai or similar
High availabilityFarm topology Apply general availability best practice Move other services off your web front end servers Consider the usage patterns of your web application – mostly read-only in WCM scenarios Make sure you have no single points of failure Use the Service Application load balancing to provide services CDNs also help here
High availabilityImprovements in SP 2010 Sandboxed solutions Allow system administrators control over resources used by custom code Small performance hit for running in a separate thread Health Analyser and server monitoring Catch issues earlier Patch management
Key takeaways Reduce your server workload Reduce the size of the page payload Reduce the number of requests to the server Measure, benchmark, test and retest your performance
Thank you for attending! Any questions? Contact me: ben@cscape.com http://sharepointtales.wordpress.com @benrobb

Weitere ähnliche Inhalte

Was ist angesagt?

Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris O'Brien
 
SPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event HandlersSPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event HandlersNCCOMMS
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization modelEuropean Collaboration Summit
 
Spicing up SharePoint web parts
Spicing up SharePoint web partsSpicing up SharePoint web parts
Spicing up SharePoint web partsRandy Williams
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien
 
COB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersCOB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersChris O'Brien
 
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
ECS19 - Ingo Gegenwarth -  Running Exchangein large environmentECS19 - Ingo Gegenwarth -  Running Exchangein large environment
ECS19 - Ingo Gegenwarth - Running Exchange in large environmentEuropean Collaboration Summit
 
Building solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introductionBuilding solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introductionWaldek Mastykarz
 
2011.05.31 super mondays-servicebus-demo
2011.05.31 super mondays-servicebus-demo2011.05.31 super mondays-servicebus-demo
2011.05.31 super mondays-servicebus-demodaveingham
 
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint FilesECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint FilesEuropean Collaboration Summit
 
SPO Migration - New API
SPO Migration - New APISPO Migration - New API
SPO Migration - New APIAshish Trivedi
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesPeter Gfader
 

Was ist angesagt? (20)

Developing Sandbox Solutions
Developing Sandbox SolutionsDeveloping Sandbox Solutions
Developing Sandbox Solutions
 
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
 
Access SharePoint Remotely
Access SharePoint RemotelyAccess SharePoint Remotely
Access SharePoint Remotely
 
SPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event HandlersSPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event Handlers
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
 
Spicing up SharePoint web parts
Spicing up SharePoint web partsSpicing up SharePoint web parts
Spicing up SharePoint web parts
 
SP2010 Developer Tools
SP2010 Developer ToolsSP2010 Developer Tools
SP2010 Developer Tools
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
 
COB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersCOB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developers
 
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
ECS19 - Ingo Gegenwarth -  Running Exchangein large environmentECS19 - Ingo Gegenwarth -  Running Exchangein large environment
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
 
Building solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introductionBuilding solutions with the SharePoint Framework - introduction
Building solutions with the SharePoint Framework - introduction
 
ECS19 Bert Jansen - Modernizing your existing sites
ECS19 Bert Jansen - Modernizing your existing sitesECS19 Bert Jansen - Modernizing your existing sites
ECS19 Bert Jansen - Modernizing your existing sites
 
2011.05.31 super mondays-servicebus-demo
2011.05.31 super mondays-servicebus-demo2011.05.31 super mondays-servicebus-demo
2011.05.31 super mondays-servicebus-demo
 
Custom dev o365
Custom dev   o365Custom dev   o365
Custom dev o365
 
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint FilesECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
ECS19 - Mike Ammerlaan - Integrate with OneDrive and SharePoint Files
 
SPO Migration - New API
SPO Migration - New APISPO Migration - New API
SPO Migration - New API
 
Introduction to asp
Introduction to aspIntroduction to asp
Introduction to asp
 
MVC-3 Vs Webform
MVC-3 Vs WebformMVC-3 Vs Webform
MVC-3 Vs Webform
 
ASP.NET 4.0 Roadmap
ASP.NET 4.0 RoadmapASP.NET 4.0 Roadmap
ASP.NET 4.0 Roadmap
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET Features
 

Ähnlich wie Building high scale, highly available websites in SharePoint 2010

Application Performance Lecture
Application Performance LectureApplication Performance Lecture
Application Performance LectureVishwanath Ramdas
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for DevelopersRob Wilson
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalJoel Oleson
 
A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentSPC Adriatics
 
Breaking Down the Economics and TCO of Migrating to AWS
Breaking Down the Economics and TCO of Migrating to AWSBreaking Down the Economics and TCO of Migrating to AWS
Breaking Down the Economics and TCO of Migrating to AWSAmazon Web Services
 
Top10waystointegratewithoracleecmbezzo 1222791433931452 9
Top10waystointegratewithoracleecmbezzo 1222791433931452 9Top10waystointegratewithoracleecmbezzo 1222791433931452 9
Top10waystointegratewithoracleecmbezzo 1222791433931452 9MrLynnRClemons
 
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)Brian Huff
 
Asia Pacific SharePoint Capacity Planning by Joel Oleson
Asia Pacific SharePoint Capacity Planning by Joel OlesonAsia Pacific SharePoint Capacity Planning by Joel Oleson
Asia Pacific SharePoint Capacity Planning by Joel OlesonJoel Oleson
 
Applying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website PerformanceApplying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website PerformancePostSharp Technologies
 
Architecting Solutions Leveraging The Cloud
Architecting Solutions Leveraging The CloudArchitecting Solutions Leveraging The Cloud
Architecting Solutions Leveraging The CloudDavid Chou
 
Composite Applicaitons and OBA Architecture
Composite Applicaitons and OBA ArchitectureComposite Applicaitons and OBA Architecture
Composite Applicaitons and OBA ArchitectureMike Walker
 
SharePoint 2010 design and deploy
SharePoint  2010 design and deploySharePoint  2010 design and deploy
SharePoint 2010 design and deployChris Riley ☁
 
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax ApplicationsTSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applicationsguestc75cdc
 
Performance anti patterns in ajax applications
Performance anti patterns in ajax applicationsPerformance anti patterns in ajax applications
Performance anti patterns in ajax applicationsSergeyChernyshev
 
Building the next generation of browser apps today
Building the next generation of browser apps todayBuilding the next generation of browser apps today
Building the next generation of browser apps todayRandy Williams
 
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...corin29
 
SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!Brian Culver
 
Dot netcampus2015 francescosodano-sharepoint2016whatsnew
Dot netcampus2015 francescosodano-sharepoint2016whatsnewDot netcampus2015 francescosodano-sharepoint2016whatsnew
Dot netcampus2015 francescosodano-sharepoint2016whatsnewDotNetCampus
 

Ähnlich wie Building high scale, highly available websites in SharePoint 2010 (20)

Application Performance Lecture
Application Performance LectureApplication Performance Lecture
Application Performance Lecture
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT Professional
 
ASP.NET OVERVIEW
ASP.NET OVERVIEWASP.NET OVERVIEW
ASP.NET OVERVIEW
 
A Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deploymentA Deep Dive into SharePoint 2016 architecture and deployment
A Deep Dive into SharePoint 2016 architecture and deployment
 
Breaking Down the Economics and TCO of Migrating to AWS
Breaking Down the Economics and TCO of Migrating to AWSBreaking Down the Economics and TCO of Migrating to AWS
Breaking Down the Economics and TCO of Migrating to AWS
 
Top10waystointegratewithoracleecmbezzo 1222791433931452 9
Top10waystointegratewithoracleecmbezzo 1222791433931452 9Top10waystointegratewithoracleecmbezzo 1222791433931452 9
Top10waystointegratewithoracleecmbezzo 1222791433931452 9
 
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
 
Asia Pacific SharePoint Capacity Planning by Joel Oleson
Asia Pacific SharePoint Capacity Planning by Joel OlesonAsia Pacific SharePoint Capacity Planning by Joel Oleson
Asia Pacific SharePoint Capacity Planning by Joel Oleson
 
Applying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website PerformanceApplying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website Performance
 
Architecting Solutions Leveraging The Cloud
Architecting Solutions Leveraging The CloudArchitecting Solutions Leveraging The Cloud
Architecting Solutions Leveraging The Cloud
 
Composite Applicaitons and OBA Architecture
Composite Applicaitons and OBA ArchitectureComposite Applicaitons and OBA Architecture
Composite Applicaitons and OBA Architecture
 
SharePoint 2010 design and deploy
SharePoint  2010 design and deploySharePoint  2010 design and deploy
SharePoint 2010 design and deploy
 
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax ApplicationsTSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
 
Performance anti patterns in ajax applications
Performance anti patterns in ajax applicationsPerformance anti patterns in ajax applications
Performance anti patterns in ajax applications
 
50 Shades of SharePoint: SharePoint 2013 Insanity Demystified
50 Shades of SharePoint: SharePoint 2013 Insanity Demystified50 Shades of SharePoint: SharePoint 2013 Insanity Demystified
50 Shades of SharePoint: SharePoint 2013 Insanity Demystified
 
Building the next generation of browser apps today
Building the next generation of browser apps todayBuilding the next generation of browser apps today
Building the next generation of browser apps today
 
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
Tipstricksandbestpracticesformanagingmicrosoftofficesharepointserver2007 0905...
 
SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!
 
Dot netcampus2015 francescosodano-sharepoint2016whatsnew
Dot netcampus2015 francescosodano-sharepoint2016whatsnewDot netcampus2015 francescosodano-sharepoint2016whatsnew
Dot netcampus2015 francescosodano-sharepoint2016whatsnew
 

Kürzlich hochgeladen

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Kürzlich hochgeladen (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Building high scale, highly available websites in SharePoint 2010

  • 1. Building high scale, high availability websites in SharePoint 2010 Ben Robb MVP, SharePoint Server CTO, cScape Ltd
  • 2. Agenda What is “high” and why is it important? How do you test performance? What impacts performance? Reducing server load Reducing page payload Reducing requests to the server High availability
  • 3. What I’m not covering General best practice for deploying large scale SharePoint implementations Deep dive code examples Detailed test planning Metrics SharePoint 2010 only went to RTM last week…
  • 4. What is “high”? Not as high as you think Most of the pointers in this session can be used by all deployments Trading scale and availability is sometimes a judgement call Most of the strategy in this session is relevant in any web site - ASP.NET applications, MOSS, SP2010
  • 5. Why is this important? Speed of response is critical to website success Amazon found that a 100ms increase in page response time led to a 1% drop in sales (Kohavi and Longbotham2007) When the homepage of Google Maps was reduced from 100KB to 70-80KB, traffic went up 10% in the first week, and an additional 25% in the following three weeks (Farber 2006)
  • 6. Reducing set up and running costs Lower hardware costs Lower software costs Lower maintenance costs vs. Higher testing and development costs If you don’t do it right first time…
  • 7. Performance Testing Toolkit Browser Test Tools Fiddler IE Developer Toolbar YSlow Load Test Tools TinyGet Visual Studio Test Edition HP LoadRunner [aka Mercury] External tools SaaS load testers [e.g. Keynote]
  • 8. Types of performance testing Load testing How does my application perform with the expected number of users? Spike testing How many users do I have when my application fails? Endurance (soak) testing What happens over a long period continuous load?
  • 9. Goals Set performance goals based on your requirements Concurrency / Throughput Server response times Page weight Develop a test plan What user journeys to test? Benchmark and repeat your tests
  • 11. What impacts performance? Workload on the servers in responding to a request The size of the page payload Number of requests to the server
  • 12. Reduce the workload Server topology Custom code Deployment techniques Caching techniques Offload SSL
  • 13. Reduce the workloadServertopologies Follow best practice for scalability of SharePoint Farms Switch off unused services in SharePoint and Windows Separate Authoring Farm from Production Farm Set the Content Databases on Production to be Read-Only Use SQL Mirroring to synchronise between the Author and Production Farm
  • 14. Reduce the workloadTaxonomy and site structure Don’t mix secure and insecure content Caching efficiencies (Also reduces management overhead)
  • 15. Reduce the workloadManaged code Apply standard .NET best practice Exception handling Defensively code your applications Do not catch exceptions you can’t handle Fail early Clean up in Finally {} blocks Understand how .NET manages objects
  • 16.
  • 17. Reduce the workloadDeployment techniques Deploy via Features and Solutions Keep files un-customized Customized pages rely on the safe mode parser
  • 18. Reduce the workloadCaching techniques Output Caching Use the Anonymous cache profile BLOB caching
  • 19. Reduce the workloadOffload work to the other servers SSL Resource intensive Should be dealt with by the firewall or dedicated hardware Custom Service Applications Allows you to offload expensive workloads to other servers
  • 21. Reducing page payload ViewState Valid XHTML No inline style Lazy load JavaScript files IIS Compression
  • 23. Reducing the page payload
  • 24.
  • 26. CDNs Content Delivery Networks cache content around the world Reduces latency Scales to millions of users Not applicable for personalised content May require changes to applications to take full advantage
  • 27. Uses for CDNs Host streaming media “Smooth HD” from Microsoft & Akamai Host standard frameworks - jQuery, AJAX http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js Host complete sites Uses Akamai or similar
  • 28. High availabilityFarm topology Apply general availability best practice Move other services off your web front end servers Consider the usage patterns of your web application – mostly read-only in WCM scenarios Make sure you have no single points of failure Use the Service Application load balancing to provide services CDNs also help here
  • 29. High availabilityImprovements in SP 2010 Sandboxed solutions Allow system administrators control over resources used by custom code Small performance hit for running in a separate thread Health Analyser and server monitoring Catch issues earlier Patch management
  • 30. Key takeaways Reduce your server workload Reduce the size of the page payload Reduce the number of requests to the server Measure, benchmark, test and retest your performance
  • 31. Thank you for attending! Any questions? Contact me: ben@cscape.com http://sharepointtales.wordpress.com @benrobb

Hinweis der Redaktion

  1. Custom code is the single biggest cause of performance problems on SharePoint 2007 deployments. And I doubt that SharePoint 2010 will magically fix that. A badly written web part or server control can cripple a farm, and it is often hard to track down what the cause of a problem is without going up a lot of blind alleys.