ProxySniffer ™ is a professional, powerful and full-featured Web Load and Stress Testing Tool, available for a reasonable price.
Our Web load and stress testing tool is used by many leading companies with great success to optimize their Web applications. We have excellent references in this specialized area of performance testing.
ProxySniffer ™ is especially suited for testing and optimizing the performance of:
ProxySniffer ™ contains a unique powerful GUI which does not require you to learn any scripting language. And as well, no implementation of complicated regular expressions is required, even if you need to extract and assign dynamic session parameters from/to CGI-Parameters, HTML-Forms, JSON and XML data. All of the rich product features are directly accessible with few mouse clicks from the high-performance, user-friendly graphical user interface.
This saves you time and money, and significantly simplifies the workflow for performing load tests.
During the load test execution ProxySniffer collects more measurement details than many other load testing tools and displays all collected data in form of meaningful charts and tables - in real time during the load test execution - and as customizable PDF report after performing a load test.
Based on the in-depth measurement results of ProxySniffer, you can clearly identify performance bottlenecks and figure out if they are caused by the network layer or by a misconfiguration of the Web server, or are caused by an incorrect programming of the Web application.
After tuning your Web application with ProxySniffer, up to 50 times more Web users can be processed using the same hardware - meaning no need to purchase more expensive servers.
The load can be generated either from your internal machines located inside your company, or can be alternatively generated from cloud-based load generators that are instantly available at your disposition in all Amazon data centers.
More than 1,000,000 (one million) simultaneous users that execute real Web sessions can be simulated by ProxySniffer - inclusive login to protected Web pages and full support for user specific session data, marking it an ideal and powerful tool for analyzing and testing the performance and stability of large-scale Web applications.
ProxySniffer runs out-of-the-box and can be installed easily and quickly on Windows, Linux, Solaris and Mac OS X systems.
The recording of load test scenarios occurs through pre-surfing with Any Web Browser like Firefox, Safari or Internet Explorer via a universally useable HTTP(S) Proxy-Recorder . The recording also includes AJAX calls and requests made from Pop-up Windows.
XML and SOAP messages of Web Service Client Applications can also be recorded.
Alternatively, load test scenarios for Web portals can be recorded automatically without any effort by using an Integrated Web Crawler .
Proxy Sniffer works quite different than other load testing tools which are only capable to generate directly one-level code.
On a first level the recorded raw data from load test scenarios is initially retained in virtual memory where it can be extended and post-processed via a powerful and easily understood GUI. For example, additional requirements such as logins from individual user accounts, or the handling of dynamically-exchanged session parameters (e.g. .NET __VIEWSTATE parameters), can be efficiently implemented with a few mouse clicks.
After all aspects of the load test have been defined in the GUI, the load test program is automatically created on a second level in the form of performance-optimized Java code. The automatically-created load test program can be run directly from the GUI on any load generator, and will not require any further manual modification. No scripting and no programming knowledge is required in order to use the Proxy Sniffer product.
Wide-Ranging Support of Web Standards and Authentication Methods
Proxy Sniffer supports a wide range of Web standards. This means that it is possible to achieve a near-perfect simulation of the behavior of natural Web users and their Web browsers, without the need for using a full Web browser process (per user) during the execution of a load test. This saves CPU time and memory on the load generating systems and effects that each load generator is able to simulate hundreds or even thousands of concurrent Web users.
The following Web Standards are integrated inside the Proxy Sniffer product and are also supported by the GUI:
Automatic Protection from "false positive" Measurement Results
During a load test, Proxy Sniffer compares the content of the received response with the content of the originally recorded response using a unique heuristic algorithm. This feature allows the detection of errors at the application level (malformed Web pages, and stack traces on Web pages) - even when a Web page with a correct HTTP response code (200 ok) is returned .
Since this protection against "false positive" measurement results is automatically applied for each load test, a clear improvement of the test quality is achieved - without any additional configuration effort.
Detailed Real-Time Statistics and Support for Real-Time Error Analysis
During the execution of a load test, a wide number of statistics and measured values can be shown in real-time, to get an at-a-glance overview of the response time behavior and stability of the Web application . Furthermore, the current activity of all simulated users can also be shown in real-time. Accurate error analysis can actually be performed during a running load test, without it having to wait for the end of the test .
Proxy Sniffer measures various in-depth values during a load test. For example the HTTP Keep Alive efficiency is measured, or for encrypted HTTPS requests the percentage of abbreviated SSL handshakes is measured . Detailed in-depth measurements are also collected for each HTTP(S) request - for example the time used to open a new network connection to the Web server, the time to transmit the HTTP(S) request to the Web server, or the time to wait for the first byte of the Web server's response .
If a response timeout occurs, or when an empty Web page is returned, you will see clearly if this is caused by a network problem (firewall, rooter, slow network connection), or caused by an overload of the TCP/IP stack on the Web server's operating system, or because the processing time of the Web application is too slow. Thus you can determine exactly on which layer an error occurs.
Real World Example: Time Profile of Error Types (How many errors and what kind of errors occur at which time?)
PDF Reports and Test Result Comparisons
After the end of every test, there are up to 24 different diagrams and statistics available at various layers, from the most generic to the most specific . From these results, a complete formatted test report can be created as a PDF document, supplemented with your own comments . Results of different test runs can be compared to each other , allowing the efficacy of tuning measures to be verified, and to visualize the response time behavior and the stability of the Web application under different load conditions .
Real World Example: Comparison of the response times of two test runs at a load level of 2,000 users. red = before tuning blue = after tuning
Concurrent Load Test Execution
Each GUI and each load generator (Exec Agent) is capable to run several load tests at the same time.
Comments or notes can be entered in real-time during load test execution, and will be displayed in the test result on all time-based diagrams.
Simulation of Slow Network Connections
The network bandwidth can be artificially reduced per simulated user, and the adjusted uplink and downlink speeds can specified separately.
Scheduling of Load Tests
An integrated scheduler allows you to trigger test jobs at predefined times.
E-Mail and SMS Alerts during Load Test Execution
E-Mail and SMS Alert Notifications can be released during the execution of a load test job . For example, if a predefined threshold of the measured response times is exceeded, or if too many errors (session failures) are measured within a configurable interval. In addition, informative E-Mail and SMS notifications can also be released when a job cannot be started, when a job starts, when a job crashes (internal error) and when a job has been completed.
Support for Conditional Execution of Web Pages and Support for Waiting Loops at GUI Level
The GUI supports to define "Inner Loops" which include only some Web pages of a recorded Web surfing session. As an example, inner loops can be used during a load test after the point where the users did login, to repeat the Web pages between login and logout several times, before logout.
Support for Conditional Execution of Web Pages
The number of iterations of an inner loop can also be controlled by a user specific variable, and the value of such a variable can also be 0 (zero); that is, some of the users skip parts of the Web pages during the load test. This can be used in combination with an Input File whose lines contain values of zero and one which are assigned to the variable of the iterations.
Support for Waiting Loops
The run-time behavior inside of an "Inner Loop" can be affected per simulated user by defining "break" and "continue" conditions at GUI level. This functionality allows you to test Web applications like "airline ticket reservation systems" at which the Web browser loops around the same Web page in a waiting loop until a final response or a final HTTP status code is received.
Full Support for Test Automation of Load Test Jobs
As an alternative to using the GUI, up to 30 different commands can be entered at a terminal command prompt, or used in own-written shell scripts, to start and synchronize the execution of load tests, and to get the test result data . This also includes the automatic creation of PDF reports. Furthermore, the Integrated Web Crawler can also be started from the command line, allowing you to create new test scenarios and then to run them instantly as a load test, without that any manual interaction being necessary.
Features of the Cluster Technology
It is possible to operate the load-generating computer systems (so-called Exec Agents) separately from the GUI, and these systems can be in various locations and can run on different operating systems.
Through the interconnection of several load-generating systems into a virtual cluster, it is possible to achieve almost unlimited load levels. In this case, the load is automatically distributed among the participating systems, and the measurement results from all load-generating systems are automatically combined into one test result in order to provide a consolidated summary. This procedure is supported by the GUI in a highly transparent manner. The individual cluster members can also be located far apart from each other.
Each load-releasing cluster can contain up to 100 cluster members (Exec Agents).
If a load test uses any Input Files (data files), the files are automatically transmitted (replicated) to all cluster members.
As an additional option you can select in the GUI if you wish to split automatically the content of an Input File. This can be useful, for example, if an Input File contains user accounts (usernames/passwords) but the Web application does not allow duplicate logins. If you enable the corresponding option in the GUI the Input File is automatically divided into parts and each cluster member will receive only a part of the Input File.
Expandability of the Product by using Self-Created Plug-Ins
Occasionally the successful execution of a load test may require in rare cases functionality which is not provided in the standard version of the Proxy Sniffer product.
Plug-ins have the major benefit of being reusable. Once developed, a plug-in can be reused in each and every load test program. The integration of a plug-in occurs via the GUI, and can be easily achieved without any programming knowledge. As an example, the following functionality can be realized during a load test by implementing your own plug-ins:
Copyright 2010, 2011, 2012, 2013
Engineering Office David Fischer AG
All rights reserved.