SlideShare uma empresa Scribd logo
1 de 23
Optimizing public
facing SharePoint sites
Gunnar Peipman
IIS/ASP.NET MVP
http://weblogs.asp.net/gunnarpeipman/
me@gunnarpeipman.com
About me
 Name: Gunnar Peipman
 From: Tallinn, Estonia
 MVP: ASP.NET MVP for 4
years
 Job: developer, architect
and consultant
 Community: ENETA,
speaker, blogger
 Hobbies: new technology,
heavy metal, beers,
national cuisines, travelling
 Happy boyfriend, father,
step father and owner of
funny white rabbit 
Agenda
 Characteristics of public facing sites
 Why SharePoint Publishing Infrastructure?
 Caching files
 Output cache
 Using CDN-s
Session objectives
After this session you should understand:
 performance problems of public facing
sites
 how caching works in SharePoint
 how to plan and configure caching
 how to measure cache
Characteristics
 Accessible by anonymous users
 Harder to estimate server load
 Mostly one-way communication
(this is what MS thinks)
 Different needs (design, SEO)
 Different publishing process
SharePoint Publishing Infrastructure
 Targeted to public web sites and corporate
in-house portals
 Perfect fit for corporate information
publishing
 Publishing workflows
 Different optimization options
Caching files
Request to page
 Every file reference
means new request
 Most files are kept in
SharePoint libraries
 Professional design
means hundreds of
files
 Plus dynamically
loaded files
Same time in server...
What is BLOB cache?
 Files from doc libraries are cached to
front-end servers
 Perfect fit if per page load many requests
are made to server
 Perfect fit also for large files
 Support for e-tags
 You save:
◦ Some database connections and queries
◦ Loading files to database server memory
◦ Moving files from db server to web server
◦ Some traffic
How to optimize
 Keep blobs on separate physical disk
 Every front-end server must have its own
blobs folder or disk
 If disk crashes or you delete files from
blob cache you must reset blob cache
 Blob cache may slow down your site for a
moment when files are copied to disk
 When measuring start from second
request
Output cache
Caching pages
 Built on ASP.NET caching
 Output cache is served from memory
 Possible to define cache profiles
 Profiles can be assigned to page layouts
 Code-based policies
 Possible to define non-cached areas
(called also donut hole caching)
Don’t over-cache!
Again: Output cache uses server memory!
 Morning:
 Noon:
 Afternoon:
 Evening:
How to measure cache?
 Use ASP.NET and SharePoint performance
counters
 Make sure counters are not updated too
often – it puts markable load on server
 Measuring must be long enough to see
how cache is actually used
 No app-pool recycle or iisreset
 If ~85% of requests are served from
cache you are okay
Output cache
Data from real-life scenario
About measuring process
 Performance counters on production
 Interval 15 seconds
 Counters:
◦ Total number of objects added
◦ Total object discards
◦ Cache hit count
◦ Cache hit ratio
 Duration: 12h (work hours fully covered)
 No interruptions
Results
Content Delivery
Networks (CDN)
CDN servers
Using CDN-s
 Files are hosted on other servers
 Users get files from closest servers
 Many popular JS libs are available in
Google and MS CDN servers
 You can build your own CDN using
Windows Azure services
 Point of trouble: wider internet outage
Q&A
Thank you!

Mais conteúdo relacionado

Mais procurados

Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Nik Patel
 

Mais procurados (20)

Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...
Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...
Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...
 
Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013Introduction To Microsoft SharePoint 2013
Introduction To Microsoft SharePoint 2013
 
Quick start guide to java script frameworks for sharepoint apps spsbe-2015
Quick start guide to java script frameworks for sharepoint apps spsbe-2015Quick start guide to java script frameworks for sharepoint apps spsbe-2015
Quick start guide to java script frameworks for sharepoint apps spsbe-2015
 
Exploring the New Search in SharePoint 2013 - What can you do now?
Exploring the New Search in SharePoint 2013 - What can you do now?Exploring the New Search in SharePoint 2013 - What can you do now?
Exploring the New Search in SharePoint 2013 - What can you do now?
 
SharePoint 2013 Search - Whats new for End Users
SharePoint 2013 Search - Whats new for End UsersSharePoint 2013 Search - Whats new for End Users
SharePoint 2013 Search - Whats new for End Users
 
10 Quick Wins - No Code
10 Quick Wins - No Code10 Quick Wins - No Code
10 Quick Wins - No Code
 
Building a SharePoint Platform That Scales
Building a SharePoint Platform That ScalesBuilding a SharePoint Platform That Scales
Building a SharePoint Platform That Scales
 
What's new in SharePoint 2013 - Discover it
What's new in SharePoint 2013 - Discover itWhat's new in SharePoint 2013 - Discover it
What's new in SharePoint 2013 - Discover it
 
SharePoint 2010 - User Profile Store
SharePoint 2010 - User Profile Store SharePoint 2010 - User Profile Store
SharePoint 2010 - User Profile Store
 
Best Practices to SharePoint Physical and Information Architecture
Best Practices to SharePoint Physical and Information ArchitectureBest Practices to SharePoint Physical and Information Architecture
Best Practices to SharePoint Physical and Information Architecture
 
Image Slider with SharePoint 2013 Search Results Web Part
Image Slider with SharePoint 2013 Search Results Web PartImage Slider with SharePoint 2013 Search Results Web Part
Image Slider with SharePoint 2013 Search Results Web Part
 
Sharepoint Document Management System (DMS) Features
Sharepoint Document Management System (DMS) Features Sharepoint Document Management System (DMS) Features
Sharepoint Document Management System (DMS) Features
 
Build Killer Visuals with SharePoint 2013 Search & Display Templates
Build Killer Visuals with SharePoint 2013 Search & Display TemplatesBuild Killer Visuals with SharePoint 2013 Search & Display Templates
Build Killer Visuals with SharePoint 2013 Search & Display Templates
 
Understanding SharePoint site structure what's inside
Understanding SharePoint site structure  what's insideUnderstanding SharePoint site structure  what's inside
Understanding SharePoint site structure what's inside
 
Understand the SharePoint Basics
Understand the SharePoint BasicsUnderstand the SharePoint Basics
Understand the SharePoint Basics
 
Discover SharePoint 2013
Discover SharePoint 2013Discover SharePoint 2013
Discover SharePoint 2013
 
Rotating Banner in SharePoint with a DataView Webpart
Rotating Banner in SharePoint with a DataView WebpartRotating Banner in SharePoint with a DataView Webpart
Rotating Banner in SharePoint with a DataView Webpart
 
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
 
Becoming a SharePoint Design Ninja
Becoming a SharePoint Design NinjaBecoming a SharePoint Design Ninja
Becoming a SharePoint Design Ninja
 
SharePoint Branding Guidance @ SharePoint Saturday Redmond
SharePoint Branding Guidance @ SharePoint Saturday RedmondSharePoint Branding Guidance @ SharePoint Saturday Redmond
SharePoint Branding Guidance @ SharePoint Saturday Redmond
 

Semelhante a Optimizing public facing SharePoint sites

Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce DatabaseBlack Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Tim Vaillancourt
 
Establishing Environment Best Practices T12 Brendan Law
Establishing Environment Best Practices T12 Brendan LawEstablishing Environment Best Practices T12 Brendan Law
Establishing Environment Best Practices T12 Brendan Law
Flamer
 
Mehta - SharePoint Data And Database Management
Mehta - SharePoint Data And Database ManagementMehta - SharePoint Data And Database Management
Mehta - SharePoint Data And Database Management
Nilesh Mehta
 

Semelhante a Optimizing public facing SharePoint sites (20)

SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike WatsonSharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
 
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce DatabaseBlack Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
 
Establishing Environment Best Practices T12 Brendan Law
Establishing Environment Best Practices T12 Brendan LawEstablishing Environment Best Practices T12 Brendan Law
Establishing Environment Best Practices T12 Brendan Law
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFx
 
SPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesSPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst Practices
 
CI_CONF 2012: Scaling - Chris Miller
CI_CONF 2012: Scaling - Chris MillerCI_CONF 2012: Scaling - Chris Miller
CI_CONF 2012: Scaling - Chris Miller
 
CI_CONF 2012: Scaling
CI_CONF 2012: ScalingCI_CONF 2012: Scaling
CI_CONF 2012: Scaling
 
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UICross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
 
Drupal performance optimization Best Practices
Drupal performance optimization Best PracticesDrupal performance optimization Best Practices
Drupal performance optimization Best Practices
 
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
 
NetApp & SharePoint Pro Connections Webinar
NetApp & SharePoint Pro Connections WebinarNetApp & SharePoint Pro Connections Webinar
NetApp & SharePoint Pro Connections Webinar
 
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
Unity Connect - Getting SQL Spinning with SharePoint - Best Practices for the...
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises Nirvana
 
Caching 101
Caching 101Caching 101
Caching 101
 
Mehta - SharePoint Data And Database Management
Mehta - SharePoint Data And Database ManagementMehta - SharePoint Data And Database Management
Mehta - SharePoint Data And Database Management
 
Back to the Basics: SharePoint Fundamentals by Joel Oleson
Back to the Basics: SharePoint Fundamentals by Joel OlesonBack to the Basics: SharePoint Fundamentals by Joel Oleson
Back to the Basics: SharePoint Fundamentals by Joel Oleson
 
Background processing with hangfire
Background processing with hangfireBackground processing with hangfire
Background processing with hangfire
 
Web storage
Web storage Web storage
Web storage
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
 
Scaling 101 test
Scaling 101 testScaling 101 test
Scaling 101 test
 

Mais de Gunnar Peipman

Working with legacy code
Working with legacy codeWorking with legacy code
Working with legacy code
Gunnar Peipman
 

Mais de Gunnar Peipman (10)

Multi-tenant web applications with ASP.NET Core
Multi-tenant web applications with ASP.NET CoreMulti-tenant web applications with ASP.NET Core
Multi-tenant web applications with ASP.NET Core
 
Brewing Eisbock with Raspberry PI and Windows 10 IoT
Brewing Eisbock with Raspberry PI and Windows 10 IoTBrewing Eisbock with Raspberry PI and Windows 10 IoT
Brewing Eisbock with Raspberry PI and Windows 10 IoT
 
Deep-Dive to Azure Search
Deep-Dive to Azure SearchDeep-Dive to Azure Search
Deep-Dive to Azure Search
 
Deep-Dive to Application Insights
Deep-Dive to Application Insights Deep-Dive to Application Insights
Deep-Dive to Application Insights
 
What's new in ASP.NET vNext
What's new in ASP.NET vNextWhat's new in ASP.NET vNext
What's new in ASP.NET vNext
 
Porting ASP.NET applications to Windows Azure
Porting ASP.NET applications to Windows AzurePorting ASP.NET applications to Windows Azure
Porting ASP.NET applications to Windows Azure
 
Working with legacy code
Working with legacy codeWorking with legacy code
Working with legacy code
 
ASP.NET MVC 4 Overview
ASP.NET MVC 4 OverviewASP.NET MVC 4 Overview
ASP.NET MVC 4 Overview
 
Building SharePoint Online applications using Napa Office 365 Development Tools
Building SharePoint Online applications using Napa Office 365 Development ToolsBuilding SharePoint Online applications using Napa Office 365 Development Tools
Building SharePoint Online applications using Napa Office 365 Development Tools
 
Architecting ASP.NET MVC Applications
Architecting ASP.NET MVC ApplicationsArchitecting ASP.NET MVC Applications
Architecting ASP.NET MVC Applications
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Optimizing public facing SharePoint sites

  • 1. Optimizing public facing SharePoint sites Gunnar Peipman IIS/ASP.NET MVP http://weblogs.asp.net/gunnarpeipman/ me@gunnarpeipman.com
  • 2. About me  Name: Gunnar Peipman  From: Tallinn, Estonia  MVP: ASP.NET MVP for 4 years  Job: developer, architect and consultant  Community: ENETA, speaker, blogger  Hobbies: new technology, heavy metal, beers, national cuisines, travelling  Happy boyfriend, father, step father and owner of funny white rabbit 
  • 3. Agenda  Characteristics of public facing sites  Why SharePoint Publishing Infrastructure?  Caching files  Output cache  Using CDN-s
  • 4. Session objectives After this session you should understand:  performance problems of public facing sites  how caching works in SharePoint  how to plan and configure caching  how to measure cache
  • 5. Characteristics  Accessible by anonymous users  Harder to estimate server load  Mostly one-way communication (this is what MS thinks)  Different needs (design, SEO)  Different publishing process
  • 6. SharePoint Publishing Infrastructure  Targeted to public web sites and corporate in-house portals  Perfect fit for corporate information publishing  Publishing workflows  Different optimization options
  • 8. Request to page  Every file reference means new request  Most files are kept in SharePoint libraries  Professional design means hundreds of files  Plus dynamically loaded files
  • 9. Same time in server...
  • 10. What is BLOB cache?  Files from doc libraries are cached to front-end servers  Perfect fit if per page load many requests are made to server  Perfect fit also for large files  Support for e-tags  You save: ◦ Some database connections and queries ◦ Loading files to database server memory ◦ Moving files from db server to web server ◦ Some traffic
  • 11. How to optimize  Keep blobs on separate physical disk  Every front-end server must have its own blobs folder or disk  If disk crashes or you delete files from blob cache you must reset blob cache  Blob cache may slow down your site for a moment when files are copied to disk  When measuring start from second request
  • 13. Caching pages  Built on ASP.NET caching  Output cache is served from memory  Possible to define cache profiles  Profiles can be assigned to page layouts  Code-based policies  Possible to define non-cached areas (called also donut hole caching)
  • 14. Don’t over-cache! Again: Output cache uses server memory!  Morning:  Noon:  Afternoon:  Evening:
  • 15. How to measure cache?  Use ASP.NET and SharePoint performance counters  Make sure counters are not updated too often – it puts markable load on server  Measuring must be long enough to see how cache is actually used  No app-pool recycle or iisreset  If ~85% of requests are served from cache you are okay
  • 16. Output cache Data from real-life scenario
  • 17. About measuring process  Performance counters on production  Interval 15 seconds  Counters: ◦ Total number of objects added ◦ Total object discards ◦ Cache hit count ◦ Cache hit ratio  Duration: 12h (work hours fully covered)  No interruptions
  • 21. Using CDN-s  Files are hosted on other servers  Users get files from closest servers  Many popular JS libs are available in Google and MS CDN servers  You can build your own CDN using Windows Azure services  Point of trouble: wider internet outage
  • 22. Q&A