Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Optimizing SharePoint 2010 Internet Sites


Published on

Details my top 6 techniques for reducing page load speed on SP2010 internet sites, with a focus on page-level optimisation. Also covers techniques/tools for measuring page load speed, load testing etc.

  • Any ideas on how to remove the multiple URL’s in the source code? I am trying to clean up the pages but they have multiple URL that will confuse the search engines, for example /Authenticate.aspx, SitePages/Forms/AllPages.aspx, SitePages/Home.aspx etc. All the main pages are a clean /mypage link but the code still has multiple accesses to the pages with different URLs, any ideas how to remove, change or hide them?
    Are you sure you want to  Yes  No
    Your message goes here

Optimizing SharePoint 2010 Internet Sites

  1. 1. Optimising SharePoint 2010 internet sites<br />Chris O’Brien<br /><br />
  2. 2. The need for speed<br />
  3. 3. Amazon:<br />100ms improvement = 1% revenue increase! [Source: Amazon]<br />Google:<br />500ms delay = 20% loss of traffic & revenue<br />40% of consumers will wait no more than 3 seconds for a Web page to load before abandoning a retail site [Source: Forrester]<br />After 3 seconds, each additional second causes 16% drop in satisfaction [Source: Forrester]<br />Stats<br />
  4. 4. Key optimisation forms<br />If code/infrastructure are OK, performance issues often caused by ‘page-level’ factors, e.g. too many HTTP requests, page weight<br />Page-level optimisation<br />Code<br />Infrastructure<br />
  5. 5. Can cache heavily when users get same content<br />E.g. anonymous users<br />Lesser gains for personalised/collab/ security-trimmed content, but:<br />Post-cache substitution (“donut caching”) can help:<br /><asp:Substitution> control<br />SP2010 internet specifics<br />
  6. 6. Reduced page weight<br />Refactored JavaScript/CSS & “Script On Demand” framework<br />THEORY: only get what you need<br />PRACTICE: further optimisation beneficial <br />JavaScript minified by default<br />Compilation/debug=“true” setting in web.config<br />SP2010 improvements<br />
  7. 7. Reducing page weight – option 1<br />The DIY approach<br />
  8. 8. Output caching (if appropriate, e.g. anon)<br />Little/no processing for server!<br />BLOB caching<br />Static files (images/CSS/JS/media) served from WFE filesystem + browser cached<br />Ensure max-age attribute set to avoid HTTP 304s<br />CSS sprites<br /><br />Updating is painful <br />Optimisation top 6<br />
  9. 9. Combine/minify custom JavaScript/CSS<br />Watch for JS errors!<br />Combining vs. splitting is a trade-off<br />COB trick: suppressing unnecessary JS files<br /><br />~ 20% decrease in 1st time page load for our site<br />IIS dynamic compression (for .aspx/.axd)<br />Reduced data over wire<br />Optimisation top 6 (ctd.)<br />
  10. 10. DEMO<br />Suppressing JS files/page weight analysis<br />
  11. 11. Reducing page weight – option 2<br />Aptimize (or similar)<br />
  12. 12. Automates many optimisations<br />Image sprites<br />Combining/minifying JavaScript & CSS<br />Etc.<br />ISAPI filter installed on WFEs <br />Good option where no optimisation expertise?<br />Project decision – spend £ on product or implementation effort?<br />Aptimize<br />
  13. 13. Aptimize<br />
  14. 14. Different bottlenecks to collaboration:<br />CAVEAT: load test/monitor to know for sure<br />Infrastructure bottlenecks<br />
  15. 15. Measuring performance<br />PAL (Perfomance Analysis of Logs) is useful –<br />Summary report for CPU, memory, disk etc.<br />Collect perf counters whilst servers under load<br />
  16. 16. VS2010 load testing good, but expensive:<br />VS2010 Ultimate ~ £6-8k<br />VS2010 Virtual User Pack (1000 users) ~ £3k<br />For 30k users, need 3000 virtual users<br />Without this, limited to 1 machine/1 core<br />STOP PRESS 8th March 2011: new “VS2010 Load Test Feature Pack” = unlimited users now free with VS Ultimate<br />Also test with client browser tools<br />Hammerhead (Firefox)<br />HttpWatch (IE)<br />Measuring performance<br />
  17. 17. DEMO<br />Load testing/measuring page load speed<br />
  18. 18. Several forms of optimisation<br />Page-level optimisation still required in SP2010<br />DIY approach or Aptimize<br />Measuring is key<br />Load test to establish page load speed during spike <br />Combine with PAL to analyse hardware bottlenecks<br />Summary<br />
  19. 19. Combined Knowledge load-testing whitepaper –<br />COB blog: reducing JS -<br />Tools:<br /><br /> (IE, free + paid)<br /> (free)<br /><br />Resources<br />