Features of Webserver Stress Tool
Webserver Stress Tool simulates large numbers of users accessing a website via HTTP/HTTPS. The software can simulate up to 10.000 users that independently click their way through a set of URLs. Simple URL patterns are supported as well as complex URL patterns (via a Script file).
Webserver Stress Tool simulates independent users stepping through a set of URLs or through URLs that you can specify using a VB script. Based on parameters you specify, the application not only requests the HTML of a URL but also frames, images, flash files, etc. emulating the same behaviour a web browser would show when accessing the website.
Each user is simulated by a separate thread with his own session information (i.e., cookies for each simulated user are stored separately) and "surfs" the URLs independently from the other users – just like in real-world Web usage.
URLs can be parameterized for each user and the sequence of URLs can be varied. POST and GET requests are supported as well as BASIC HTTP Authentication and several other settings. With the new scripting functionality you can even create highly complex URL patterns for large scale web applications.
We have successfully tested Webserver Stress Tool with
more than 1 Gigabit/s network throughput
more than 1.000.000 pageviews per hour and
up to 10.000 simultaneous users
See our Sample Performance Tests section for more detailed test reports. The actual load you can achieve is highly dependent on your network infrastructure, your server/client hardware, the file sizes and your web application.
Webserver Stress Tool supports a number of different testing types. For example
|Performance Tests—this test queries single URLs of a webserver or web application to identify and discover elements that may be responsible for slower than expected performance. This test provides a unique opportunity to optimize server settings or application configurations by testing various implementations of single web pages/script to identify the fastest code or settings.|
|✓||Load Tests—this tests your entire website at the normal (expected) load. For load testing you simply enter the URLs, the number of users, and the time between clicks of your website traffic. This is a “real world” test.|
|Stress Tests—these are simulations of “brute force” attacks that apply excessive load to your webserver. This type of “brute force” situation can be caused by a massive spike in user activity (i.e., a new advertising campaign). This is a great test to find the traffic threshold for your webserver.|
Ramp Tests—this test uses escalating numbers of users over a given time frame to determine the maximum number of users the webserver can accommodate before producing error messages.
Various other tests—working with Webserver Stress Tool simply gives you more insight about your website, e.g. to determine that web pages can be requested simultaneously without problems like database deadlocks, semaphores, etc.
Webserver Stress Tool provides a number of robust and flexible reports and logging features to help you gather valuable data about your webserver and website performance. Reports include:
- Click Time—the time it took for a user to complete a pageview (i.e., loading a page and all associated images/objects). This is the time between clicking a link and end of the http last request – which would be the moment a user would see the complete page.
- Time for DNS—the time it takes for a client to resolve a URL's domain name using the client system's current DNS server.
- Time to connect—time to set up a connection to the server.
- Time to first byte (TFB)—time between initiating a request and receiving the first byte of data from the server.
- Request Time (TLB, Time to last Byte)—time for a single HTTP request (i.e. HTML page, image, frameset, etc.).
- Server Bandwidth—the bandwidth achieved by the webserver.
- User Bandwidth—the average bandwidth that was available for each user.
- Sent Requests—the number of requests sent to the server during a period.
- Received Requests—the number of answers received from the server during a period.
- Open Requests—the number of open requests for a given moment.
- Error rates—the number of failed requests per time period, per user, or per URL
This stress and load test tool provides graphs and data in a number of different formats including:
- Several easy to use graphs (visit the sample tests page for sample graphs)
- Summary Text Log
- Detailed Text Log
- User Text Log (one for each user)
- Machine readable CSV files for the request log and the raw graph data
Webserver Stress Tool also offers a number of other robust, flexible features to provide you the most comprehensive webserver stress and load test tool on the market. These features include
- Built-in report generator—reports can be generated as HTML files and MS WORD documents
- Includes a URL recorder (complete web browser) to select the URL(s) you want to test
- Works on any HTTP or HTTP(s) URL
- Can test any script—CGI, ASP, PHP, etc.
- Can also be used to test requests of larger download files (e.g. ZIP)
- Works with any webserver (no part of the software has to be installed on the server)
- Includes support for
- proxies (not for HTTPS) with optional proxy authentication
- basic user authentication (username/password)
- user agent string
- any HTTP request header lines
- individual cookie handling for each simulated user (e.g. ASP-Session-IDs)
- redirected requests and " http-meta-refresh " redirections
- several IPs for the client machine (up to 5000 IPs)
- data rate throttling (e.g. to simulate users accessing the server via a slow modem line)
- timeouts (e.g. to simulate surfers that click away after 20 seconds without answer of the server)
- When testing more than one URL several URL selection methods can be selected to simulate different user behavior
- Tests can run
- until a specified number of clicks is reached for each user
- until a specified time has passed
- Tests can be started at a specified time
- Optional link checker can check all URLs for validity
- Optionally all received HTML pages can be written to files
- Optionally all resulting files can be archived in a ZIP file for each test for later reference