Optimizing public facing SharePoint sites


Published on

Session about how to optimize public-facing sites built on SharePoint publishing infrastructure. Session is based on real-life experiences and provides valuable information to all SharePoint developers who build sites using SharePoint publishing infrastructure. It was special session for SPUG.fi community meeting.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Optimizing public facing SharePoint sites

  1. 1. Optimizing publicfacing SharePoint sitesGunnar PeipmanIIS/ASP.NET MVPhttp://weblogs.asp.net/gunnarpeipman/me@gunnarpeipman.com
  2. 2. About me Name: Gunnar Peipman From: Tallinn, Estonia MVP: ASP.NET MVP for 4years Job: developer, architectand consultant Community: ENETA,speaker, blogger Hobbies: new technology,heavy metal, beers,national cuisines, travelling Happy boyfriend, father,step father and owner offunny white rabbit 
  3. 3. Agenda Characteristics of public facing sites Why SharePoint Publishing Infrastructure? Caching files Output cache Using CDN-s
  4. 4. Session objectivesAfter this session you should understand: performance problems of public facingsites how caching works in SharePoint how to plan and configure caching how to measure cache
  5. 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. 6. SharePoint Publishing Infrastructure Targeted to public web sites and corporatein-house portals Perfect fit for corporate informationpublishing Publishing workflows Different optimization options
  7. 7. Caching files
  8. 8. Request to page Every file referencemeans new request Most files are kept inSharePoint libraries Professional designmeans hundreds offiles Plus dynamicallyloaded files
  9. 9. Same time in server...
  10. 10. What is BLOB cache? Files from doc libraries are cached tofront-end servers Perfect fit if per page load many requestsare 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. 11. How to optimize Keep blobs on separate physical disk Every front-end server must have its ownblobs folder or disk If disk crashes or you delete files fromblob cache you must reset blob cache Blob cache may slow down your site for amoment when files are copied to disk When measuring start from secondrequest
  12. 12. Output cache
  13. 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. 14. Don’t over-cache!Again: Output cache uses server memory! Morning: Noon: Afternoon: Evening:
  15. 15. How to measure cache? Use ASP.NET and SharePoint performancecounters Make sure counters are not updated toooften – it puts markable load on server Measuring must be long enough to seehow cache is actually used No app-pool recycle or iisreset If ~85% of requests are served fromcache you are okay
  16. 16. Output cacheData from real-life scenario
  17. 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
  18. 18. Results
  19. 19. Content DeliveryNetworks (CDN)
  20. 20. CDN servers
  21. 21. Using CDN-s Files are hosted on other servers Users get files from closest servers Many popular JS libs are available inGoogle and MS CDN servers You can build your own CDN usingWindows Azure services Point of trouble: wider internet outage
  22. 22. Q&A
  23. 23. Thank you!