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
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
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
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.