Free Tool to Load Test and Stress Test Website
Web stress test or website load test is an important activity to find out failure points in websites under moderate to heavy load conditions. Website stress testing and load testing is performed to determine a website’s behaviour under both normal and peak load conditions. To be more specific , stress testing is usually done to measure the robustness of software. This is applicable to websites also. It is the measure of websites performance beyond the limits of normal operation. This will also help you to identify your hosting requirements in case of increased traffic in future.
A Web Application Performance Tool, commonly known as WAPT, allows you to specify how many virtual users are involved in the testing environment. HttpRider is a free and lightweight tool for web site performance and stress testing. This is a tool from CodePlex. Let us see how you can use HttpRider to measure your website performance under normal and peak conditions.
How to use HttpRider to Load Test and Stress Test your Website
HttpRider creates http scenarios by profiling http requests using Fiddler and replicates them based on user configuration. Let us see how you can use this free tool to do a load test of your website and review its performance under stress conditions.
The tool requires .NET Framework Version v4.0 to execute. While running the application if your system doesn’t have this version, it will ask you and will redirect to the framework download page. If not you can go to .NET Framework page, download and install the same.
HttpRider doesn’t require to be installed in your machine. Double click the application to start. You can create load test and stress test scenarios and save them to run it again.
You can either choose to create a new scenario or load an existing one as below.
The next step is optional. This step if for configuring database datasources. For example if your application require password authentication, you can load a set of username/password data from database by configuring it here. You can edit the query and database connection string based on your database and schema properties. You can use MS Excel sheet, a CSV source or a SQL Server as the data source. But remember this step is optional and requires only if you have an authentication restriction on your website. In that case this data source configuration can be bound to your navigation scenario in order to mimic synchronous user requests. (Please note that this datasource can be used in any scenario other than “authentication” in advanced scenario) See below.
In the next step you can configure the regular expression to include and exclude required URLs. You can click on “Start Recording” button and access the required URL from a browser. For example if you are testing “www.yoursite.com” then access the same from browser after clicking the “Start Recording” button. It will record all the scenarios. Once the page loading is completed click on “Stop recording” button. Please remember that only HTTP protocol is supported in this tool as of now and also only “GET” and “POST” HTTP methods are supported. See below.
In the next page you can review and design your scenario. Here you can delete unwanted requests or you can change the query string or post data values. See the below screen that shows how to change parameters if that is present in the request.
Once the scenario validation completed you can save them to execute again in future and you can proceed to the nest screen.
In the next step you can configure the number of threads and sessions. You should start with a low value and then increase the same to compare the performance. You can also configure the sleep time between the requests, request timeout etc. Click “Start test” button to start the stress testing. Once the test is over you can see the results and compare the performance from the results values. The average value can be compared for multiple test scenarios to validate the performance. Different test scenario can vary based on number of threads and sessions. See below.