Performance Testing for SharePoint
Author: Manoj Paliwal | 4 min read | March 5, 2015
Why You Need Performance Testing
Performance testing in SharePoint is very useful for analyzing the behavior of how well your environment works with user load and expected user journeys.
Performance testing and optimization is a critical component of effective capacity management. We should test new architectures before we deploy them to production to achieve the performance and capacity targets.
Before GoLive of any SharePoint application it is best to verify the functionality, performance and stress capabilities. This allows you to identify and optimize potential bottlenecks before they impact users in a live deployment.
Performance testing does the job of instilling confidence before GoLive for:
Design – Architectural changes, like adding web server, application servers, etc.
Workload – If the system will sustain the user base in terms of concurrent users, request per second.
Visual Studio for Performance Testing?
Visual Studio Ultimate has integrated testing tools that ship with it. It’s simple in Visual Studio to record a user journey or Web Test by using the browser in SharePoint. Once the user journey is computed it will be saved as a web test so that it can automatically be reused under load test.
Analyzing User Journey?
Every SharePoint user will have a different purpose for accessing developed SharePoint applications. From uploading or downloading documents, searching documents and others features in SharePoint. Before performance testing these should be identified. Think about the following before testing:
Normal Browsing
- Log in
- Accessing home page
- Perform search
- Read document
- Log out
Social Browsing
- Log in
- Accessing My Site page
- Add status update
- Like a document
- Log out
Web Test and Load Test?
Web Test: Once we have the user journey identified, it can be recorded and the run and resultant output can be analyzed.
Load Test: It is used to determine how well the application environment will respond at various levels of usage. Load test helps to model the application by simulating web test, with servers used for hosting application, with user count and time which multiple users will access the application at the same time or concurrent users.
Load test makes use of web test, so you need to add the web test which has the user journey created to a load test, to simulate multiple virtual users opening simultaneous connections to a server and making multiple HTPP requests.
Load test is very useful to check behavior for application performance enhancement in the following areas:
Test Case | Description |
Smoke | To check application behavior under light loads for short durations. |
Stress | To determine behavior of application for a sustained duration under heavy load. |
Performance | To check responsiveness of application. |
Capacity Planning | To check application performance at various capacities. |
Performance Testing as Per Requirement?
Depending on the requirement, application metrics like user web test cases, server details, user count can be set and then analyzed.
Test Types for Performance Tuning the SharePoint Application?
The type of tests you can carry out will generally fall into one of these types:
Goal based Test: This is used to identify number of page/requests that can be served while the WFE’s are running at around 80% utilization.
Soak Test: The intention of this test is to hit the production farm at about 50–75% of expected peak usage over long periods of time to identify time related, such as memory leaks, or scheduled tasks that disrupt service.
Stepped Test: Use this test to find the point at which response rates start to fall away.
Constant Load Test: Lastly, check server performance during constant load when it is expected at peak performance.
Summary of Steps from Visual Studio for Performance Testing
- Creating a new project in Visual Studio.
- Identify end user journeys and create web test use record, pause and stop feature with a browser and Visual Studio.
- Create Load test scenarios in Visual Studio – Vary the metrics like users, time, browsers, networks and journeys.
- Run the tests, save the output.
- Analyze the results.
- Publish findings and make recommendations.
References:
http://technet.microsoft.com/en-us/library/39555fd0-fd19-4e36-9652-ae1a386c3f32(v=office.15)#step1
http://msdn.microsoft.com/en-us/library/jj710162(v=vs.110).aspx#PerfLoadSharePointCreateRunWebPerfTest
http://msdn.microsoft.com/en-us/library/dd293540(v=vs.110).aspx