Stress testing SharePoint 2013

Hello All,

A customer of mine wanted some high level information on stress testing SharePoint as they prepare for there upgrade. These lists are not complete as their many tools out there, these are the ones that I am most familiar with. Here is the first e-mail I sent


Here are some best practices and notes on stress testing SharePoint

First Tools:

  1. Tool to create stress

    1. Visual Studio

    2. Load Runner

  2. Tool to gather performance logs

    1. Perfmon

    2. SCOM

 

The point of this exercise should be to simulate your user base and production environment to the best of your abilities. You should take into consideration the following:

 

  1. Production hardware, this includes SharePoint servers, SQL server, AD servers, DNS servers, etc make sure you have all the servers you need to reproduce production.  Also make sure that if in production they are virtualized that in the test you do the same.

  2. What services will be active during the day ie Search Crawl, Backups, or User Profile

  3. What kind of documents do users use?  Text files, Office Documents, PDF, CAD Files, gif/jpg, etc.  Also consider what size most documents are and how often users upload files that hit the max size.

  4. How are the files used, opened vs download/upload.  Do users do batch uploads of documents?

  5. Max number of users connected to the system vs Max number of users using the system.  Remember an idle user does still cause stress as does an active user, so if your users connect to SharePoint and then leave the page open without doing anything I recommend that you simulate that in your test.

  6. Don’t forget that you should simulate supporting technology as well ie DNS, AD, Load balancers, etc

  7. Custom code should be included in these tests

  8. Do you have multiple Web Application and are you using My Sites, simulate connections and activites within all web applications and my sites as well.

 

Once you have run your tests and gotten the results you should optimize the environment ie add/remove SQL server, split up databases, add/remove SharePoint server, move services, etc. This article https://technet.microsoft.com/en-us/library/ff758658(v=office.15).aspx has counters and optimizations you can perform based on those results.

 

As well once you have run tests with realistic inputs, and have completed analyzes/optimization it never hurts to see what your system can deal with if you change specific settings. As an example what would happen if we allowed 2 GB files to be uploaded? What happens if we change certain list thresholds? What happens if we add another 2000 user connections?

 

NOTE: Coded web performance tests are not supported with SharePoint 2013, because they are considered unreliable.

 

Interesting articles:

 

Web performance and load testing SharePoint 2010 and 2013 applications

https://msdn.microsoft.com/en-us/library/jj710162.aspx

 

Plan for performance and capacity management in SharePoint Server 2013

https://technet.microsoft.com/en-us/library/cc262971.aspx

 

Performance testing for SharePoint Server 2013

https://technet.microsoft.com/en-us/library/ff758659(v=office.15).aspx

 

Monitoring and maintaining SharePoint Server 2013

https://technet.microsoft.com/en-us/library/ff758658(v=office.15).aspx