I had put together an application to perform Load Test in both Microsoft Office SharePoint Server (MOSS) 2007 and Windows SharePoint Services (WSS) 3.0. The application as it is now is more “Load” than “Test”. The next step will be to save the results in a database and enable live queries. I am planning to use the Jet Database (Access). I am releasing this intermediate version because if used with other tools it can complete the cycle. This can be used to test capacity problems before publishing a SharePoint portal.

This is how the application works: you enter a SharePoint URL (Web Collection or Web) and the application enumerates all items (lists, list items, webs, sub-webs, documents, pages etc) and hit each once for every user you define. In the screen below we will simulate 5 users hitting the site for 30 minutes. You can run the application from any workstation. You don’t have to run it from the server. All operations used in this application are supported in production environment (i.e. it only uses webservices and browser requests) and it does not alter any configuration nor add any content. It access the information in a similar way of SharePoint Designer’s.

Initial Settings 

When you click the “Start” button you are asked to enter your credentials (no anonymous or FBA authentication since it will use the webservices to enumerate the content). Choose current user or enter the credentials if you don’t have the appropriate rights.

Login Window 

After logging in, the application will enumerate all items and hit them. In this fiddler except you can see how it silently works:

image

If there is any error (unauthorized user, resource not found or time out) it will show up in the error list view. Note that some errors from SharePoint will not show in this version as it does not return a status error. A tool like Fiddler can help in this gap.

Full Project including source code can be found here:

http://mossloadtest.codeplex.com/

I plan to continue this project and feedback is highly appreciated via this blog.

Notice that this is another private project and it is not endorsed or supported by my employer Microsoft. I will try my best to answer questions and fix bugs, but it is an application AS IS.