SharePoint (Performance, Stress ) Load Testing
Update (7-Jul-2010)
I have created another post on similar lines of this post for SharePoint 2010. One thing to note is that many tools that you were using earlier such as VSTS, Fiddler, HttpWatch – they would remain same even in 2010. However, what would change mainly is the bench marks (results) that have been collected based on real life tests. Also, if there are new tools which would be specific to SharePoint 2010, I’ll add it there. Also, I’ve added some more tools and links in this post based on comments in this blog.
Updated On 22-July-2009
Whenever I've helped my customers in performance testing and analysis of SharePoint, I get one common question: Can you tell us more about "SharePoint Load Testing" and links where I can learn more? Doing a quick web search on "SharePoint Load Testing" or "SharePoint Performance Testing" - you get all kinds of results such as data population tools, performance tuning techniques, handling large lists etc. However, it's not very easy to get results about, How to go about load testing SharePoint, what are the counters that i should measure, where can i find real life bench mark results of SharePoint? That's exactly, what I am trying to in this post. I'm trying to cover all the resources that I know about load testing. I wouldn't be covering much about Performance Tuning and Analysis.
One important thing than many people don't know is this - There’s nothing much specific to SharePoint when it comes to performance testing. SharePoint provides a few objects (e.g. for Publishing Cache, Search Indexer). Otherwise, same principles that applies to ASP.net also apply to SharePoint. Basically, we have to analyze different objects and counters (Memory, CPU, Disk, Network, CLR) in relation with required parameters such as throughput, response time, user load etc. to find out various issues. Below is the list of resources that would help you in doing that:
Official Documentation
- Plan for performance and capacity (Office SharePoint Server) - It is landing page for all the documentation available for SharePoint related to performance and capacity. There are many resources in this page, that I’ve referred in other section also.
References of Real life performance testing to get the bench mark results
There are many times when you do performance testing in your environment, but don’t know if your results are good or not. The links in this section would help you in finding that.
- Estimate performance and capacity requirements (Office SharePoint Server) Provides references of actual performance testing done by Microsoft in difference scenarios and the benchmark results from those tests. Provides specific results and guidance for the following scenarios:
2 Million User Scale Test by Microsoft Enterprise Engineering Center: Results from scalability test that Microsoft conducted to address the concerns of a customer who wanted to deploy MOSS for 2 million internal users. The report provides a description of the goals achieved, test architecture, metrics and success criteria, testing methodology and terminology. A very useful and comprehensive resource that provides understanding of almost every aspect of performance testing in SharePoint context.
Best Practices and Performance Paper from HP - HP Solutions Alliance Engineering (SAE) labs runs tests to ascertain performance on newly released HP server and storage technologies and also on new versions of Microsoft software that form part of the solution. This page provides technical papers having actual test results. Below is the list of different performance related papers:
- Microsoft Office SharePoint Server 2007 on HP ProLiant Servers - Performance Summary – provides guidance, example configurations and interesting facts include the load test results for various workloads on 12 different servers having various combination of Processors - single core and dual core, AMD and Intel, x86 and x64. You can read a quick summary about this paper in one of my previous post
- Microsoft Office SharePoint Server 2007 with Windows 2008 and SQL Server 2008 on HP servers and storage technologies - describes the performance differences observed when comparing MOSS running on Windows Server 2008 and SQL Server 2008 versus current deployments running Windows Server 2003 and SQL Server 2005.
- Results from low cost single server MOSS setups on Intel and AMD based servers
- Results from Virtualized Hyper-V based setups on Intel (different servers) and AMD based servers
Testing Tools
This section provides links to the tools that helps in the load testing.
Tools to generate load and test data:
- VSTS 2008 Test Edition – Combined Knowledge has published a detailed “How To” guide for configuring a stress testing project for MOSS 2007 using VSTS 2008. Liam Cleary [SharePoint MVP] has published some good posts on how to create and run a web test and load test on SharePoint with VSTS 2008. If you want to learn more about VSTS 2008 load testing Ed Glas’s blog is very good resource and this blog post provides quite a few links to start.
- SharePoint 2007 Test Data Population Tool and the test data - populates data for testing SharePoint deployments. Description on How to use the tool: Tools for performance and capacity planning (Windows SharePoint Services)
- Web Capacity Analysis Tool (WCAT) – In case you don’t have VSTS, and looking for free tool, you can use WCAT.
Browsers Add-Ons: There are many good tools (mostly free) that integrate with your browser to analyze each and every activity happening through your browser. You can use these tools for tuning the performance of a web site by measuring parameters such as download times, caching or the number of network round trips. [Thanks to Ed Glas for suggesting some of these tools.]
- Fiddler – a very handy and light weight tool that can provide quick overview of you web site performance. It can also records scripts that you can use in VSTS. This MSDN article provides detailed information on how Fiddler can be used for performance tuning.
- neXpert - an add-on to Fiddler which automates the classic performance best practice checks and produces a HTML report on the issues found in a Fiddler capture. Also adds the ability to insert step markers in Fiddler sessions to associate network objects together (create transactions). Check out more here
- HttpWatch - an HTTP viewer and debugger. Available in commercial as well as free variants.
- FireBug – provides many web development tools. Integrates only with FireFox
- YSlow - analyzes web pages and tells you why they're slow based on the rules for high performance web sites. Integrates only with FireFox
At times, you need to focus on end-user response time. As it is difficult to simulate real life network bandwidth, it becomes difficult to test, how your application perform for end users. The following tools help you to find end-user experience
- Visual Round Trip Analyzer - Web page performance visualizer and analyzer tool. You can find Ed Glas’s blog post introducing this tool and detailed article on using the tool.
- webPageTest - webPageTest is a free over-the-web tool for performance testing a page from either Dulles, VA, USA or Wellington New Zealand. Pagetest allows you to provide the URL of a webpage to be tested provides a waterfall of your page load performance as well as a comparison against an optimization checklist.
There are other tools available for sizing and capacity planning also such as HP ProLiant Sizer for Microsoft Office SharePoint Server 2007 and SharePoint Capacity Planning Tool from Microsoft
Log Parser 2.2 is another powerful, versatile tool that provides universal query access to text-based data such as log files. You can use this tool to query SharePoint and IIS logs and get very useful analysis about potential issue. There’s a white paper, Analyzing Microsoft SharePoint Products and Technologies Usage, that discusses how to gather and analyze SharePoint data using this tool.
Useful Blogs, Third Party Articles
- Joel Oleson: Good List of Performance Counters (MOSS 2007)
- Performance testing and Performance counters for Sharepoint 2007 (MOSS) - You won't only find the list of counters, but also a guideline as well as explanation for the same.
- Shivajin's blog - Shivajin has been writing a series of useful blog posts on performance testing, especially on Info Path Forms Services such as this one
- Bill Baer: Stress Testing Microsoft Office SharePoint Server 2007/Windows SharePoint Services 3.0
- Using tool Runtime Optimizer to measure SharePoint performance and setting page load goals
- Case study on load testing & Tuning to improve SharePoint performance using WebPerformance tools
ASP.Net performance testing and Analysis
The following links provide information on performance testing of ASP.net based web sites. Everything you wanted to know such as how to setup Performance Monitor, what counters to analyze, what should be threshold value of the counters, what to do if some counters are overshooting the threshold – you’ll get here.
- Overview of ASP.NET Performance Monitoring
- patterns & practices Performance Testing Guidance for Web Applications
- ASP.NET Performance Monitoring, and When to Alert Administrators
- Checklist: ASP.NET Performance
- Chapter 15 — Measuring .NET Application Performance
- Chapter 16 — Testing .NET Application Performance
- Chapter 17 — Tuning .NET Application Performance
SharePoint Performance Improvements
Though this post is focuses on Performance Testing, I’m also providing a few links on Performance improvements, tuning and optimazation
- Technet Performance Page on SharePoint, which is referred above also has many resources on performance tuning and improvements
- Microsoft IT Showcase: SharePoint Performance Optimization - Very Informative white paper on Microsoft IT identified areas of opportunity for performance optimization, including the back-end SQL Server storage subsystem and front-end IIS servers.
- Inside SharePoint Improving SharePoint Performance - Useful article with common issues and their resolution
- How to Optimize a SharePoint Server 2007 Web Content Management Site for Performance
- Tool, SharePoint Accelerator from aptimize - is an ISAPI filter for Microsoft IIS that automates performance tuning with the following features that act on JavaScript files, style sheets, images, some other features.
- Blog post, How we did it: Speeding up SharePoint.Microsoft.com – real life scenario on how they analyzed the performance issues and how they used tools such as aptimize to improve the performance.
- Bill's 5-min. SharePoint Performance Recommendations
Hopefully, you’ll find these useful
- Sanjay
Comments
Anonymous
April 18, 2009
PingBack from http://asp-net-hosting.simplynetdev.com/sharepoint-performance-stress-load-testing/Anonymous
April 18, 2009
Here is a good whitepaper from the same people who provide the webPageTest link above. It focuses on page requests and load times. http://www.wssdemo.com/Pages/Measure%20SharePoint%20Performance.aspxAnonymous
May 06, 2009
Sanjay Narang has compiled a great set of links on performance testing SharePoint . Check them out! ThisAnonymous
June 18, 2009
Many times, I get question from my customers if they should build a new application in SharePoint orAnonymous
November 15, 2009
Great resource. Would suggest adding Aptimize Website Accelerator to the SharePoint Performance Improvements section, MS recently used it to increase the performance of their Sharepoint site http://blogs.msdn.com/sharepoint/archive/2009/09/28/how-we-did-it-speeding-up-sharepoint-microsoft-com.aspxAnonymous
January 08, 2010
You might want to check out a cloud-based <a href="http://loadstorm.com/performance-testing">performance testing tool</a>. Free subscription for 50 users.Anonymous
February 25, 2010
Many a times i use to think about the share point when my friends use to talk about it. And then i got to know it better.It was best when i implemented it. check this out. At my time i did not got free. But for you its free for 30days- http://www.sharepointperth.com/30-day-sharepoint-trialAnonymous
March 03, 2010
SharePoint experiences degraded performance at peak load times. This big software application lacks performance and scalability handling. Some software companies have provided caching solutions to SharePoint. some of those solutions i know of include NCachePoint, StoragePoint and AvePoint. Just read about NCachePoint on www.cmswire.com. This program uses distributed caching underneath SharePoint for caching BLOBs, sessions, Lists and Views. SharePoint 2007 failed to manage performance issues, what about SharePoint 2010, is it going to remain the same or will it also demand the need of caching solutions for resolving its performance and scalability issues? Users feedback awaitedAnonymous
March 16, 2010
@fred You are right, we do have performance issues with SharePoint at peak load times. It is because disk-based storage is slow, especially when you have to handle frequent user requests for data. Secondly, SQL Server is not good enough for BLOB storage, quering and reading. I've used the free edition of Ncachepoint, downloadable from http://www.alachisoft.com/download.html Ncachepoint externalizes BLOB storage and distributes them across cache servers. This nice software showed a considerable difference in SharePoint perofmance. Its techniques for performance boost include BLOB, List and Session caching as well as minification, combinition of multiple CSS and Javascrips, which all together helps considerbalyin giving you best of the scalable performance no matter how much load you put on the application.Anonymous
June 22, 2010
Great post. Surprised not to see the aptimize sharepoint accelerator mentioned this has been a life saver for dealing with sharepoint performance issues.Anonymous
October 19, 2010
We've used apache's JMeter a bunch to do stress testing on our various webservers, including sharepoint. You basically tell it what urls to load and a load profile and it runs till the performance starts dropping. For test-after functional testing, we've used different tools including Selenium/Bromine (though last time I looked, Bromine isn't quite enterprise worthy) and iMacros. I'm a huge fan of iMacros. For a poor person's load test, you can record a quick macro that browses through your most popular pages on the site, then run it on a loop from 20 different firefox windows to make sure your site can handle that many users. For a previous non-sharepoint web project, we used Bromine to run our selenium test cases on a schedule and we got a good nightly email telling us if our latest build broke anything (that we tested for).Anonymous
May 31, 2011
Improve reading files performance for SharePoint 2010 / Tăng hiệu suất đọc file cho SharePoint 2010 sharepointtaskmaster.blogspot.com/.../improve-reading-files-performance-for.htmlAnonymous
September 16, 2011
Hi, Here is the blog contains Reusable sharepoint Test Scenarios sharepointtesting.blogspot.com Might be this will be very usefull for those who are very new to sharepoint testing for any more docs, doubts and for suggestions your mails are welcome to edwinraj.p@gmail.com Regards, Edwin AntonyAnonymous
December 12, 2011
The comment has been removedAnonymous
October 11, 2012
I need to know how can I check number of active users hitting one front end server at given time (real time)... is there any tool to check that ?