Using VSTS 2008 for load testing SharePoint Site for starters.

Prerequisites:
Visual Studio Team System 2008

Access to the Site that you want to do performance test.

Setup:
There are 2 steps to create a Load test.

  1. Creating a "Web Test", We basically record all the Links while we browse to the site. Typical end users action.
  2. "Load Test". Here we set what kind of load that we need to assert on the Web Test, like Number of users, type of users, Different type of clients Browsers and Different networks.

First step is to create a TEST project:

clip_image001

clip_image002

 

We now create a Web Test.

While creating a Web Test we can separate it based on the users accessing the site, like Read only users and contributors. The readers are users who access the site , whereas the contributors modify and add data to the SharePoint site.

To create a Web Test, right click on the Project Name --> ADD --> New Item (Select "Web Test" and give it a name "Reader.webtest"). This would bring up a browser with a "Web Test Recorder" within the browser. Browse to the SharePoint site and make sure to navigate around the site. After navigating, click on Stop to finish the recording.
Now you have create a Web Test based on reader users.

clip_image003

We could now create another Web test where the users modify and add data to the site. right click on the Project Name --> ADD --> New Item (Select "Web Test" and give it a name "Contributors.webtest").

Now browse to the site and make the changes to the sites, I would modify the list items or to add some items to a list.

Note: While added anything to the site please consider not to create a list or Document library. Basically when you run the test, it would try to create a same List with the same name and the test would error out. The Same hold good for uploading a document, Each time you upload a document VSTS would not know here to pickup the document for the upload and would error out, however we could create a folder within the project have all the documents listed and refer to the upload parameter.

Now we have created Web tests called Reader.webtest & Contributors.webtest

 

Now for creating a Load Test on the Web app.

To create a Load Test, right click on the Project Name --> ADD --> Load Test. This would bring up a nice easy wizard

clip_image004

Make sure to select the web tests that we created earlier Reader.webtest & Contributors.webtest

clip_image005

The next step would give you an option to select the type of browse and the distribution of the load across the browsers.

clip_image006

The next step would give you an option to select the type of Network and the distribution of the load across the network.

clip_image007

Finish the wizard and also make sure to select the duration of this load test to run.

Now all you need to do is to run the Load Test which you created and watch for the Perfmon counter like "Request Current" ASP .Net counter on the WFE to check the load on the site.