Apica ProxySniffer can simulate actual user behavior for 200,000 simultaneous users and up to one million. This includes login to protected web pages and full support for user specific session data, making it an ideal and powerful tool for analyzing and testing the performance and stability of large-scale web applications. In addition, Apica ProxySniffer supports web load and stress tests for SOAP and XML servers and for WebDAV servers.The load can be generated from local machines inside your company, or from high-duty, cloud-based load generators available in all seven Amazon data centers (three in the United States, and one each in Ireland, Singapore, Tokyo, and Sao Paulo).
Apica ProxySniffer is especially suited for testing and optimizing the performance of:
- Web shops
- Web portals
- Online banking applications
- C2B and B2B web Servers
- HTTP/S Video Servers and WebDAVsServers
- Cloud-based web services
Apica ProxySniffer contains a unique powerful GUI which does not require you to learn any scripting language. There is no need to implement complicated regular expressions, even if you need to extract session parameters from HTML, JSON, and XML data. All of the rich product features are directly accessible trough the high-performance, user-friendly graphical user interface. These features save you time and money, and significantly simplify the workflow for preparing load tests.
During the load test execution Apica ProxySniffer collects more measurement details than many other load testing tools. All collected data is displayed in real time in the form of meaningful charts and tables. After performing the load test, the data is packaged in acustomizable PDF report.
Based on the in-depth measurement results of Apica ProxySniffer, you can clearly identify performance bottlenecks and figure out if they are caused by the network layer, by a misconfiguration of the Web server, caused by an incorrect programming of the Web application.
After tuning your web application with Apica ProxySniffer, up to 50 times more Web users can be processed using the same hardware â meaning there is no need to purchase more expensive servers. No other professional web load and stress testing tool offers as much functionality for the same price.
Top 3 reasons to use Apica ProxySniffer as your preferred web load testing tool:
1. Powerful functionality and greater efficiency.
Apica ProxySniffer contains many unique high-level features which allow you to perform realistic and accurate Web load tests in a professional way. You will be surprised how easy and fast creating and executingeven the most sophisticated load test procedures can be. For further information, see special product features further down on this web page and take a look at the Screenshots.
2. Use high-duty load generators in the Amazon cloud on demand.
Up to 20 high-duty load generators in the Amazon cloud data centers are instantly at your disposal. Each ready-to-use load generator is capable of simulating up to 10,000 web users (20 x 10,000 VUs = 200,000 VUs). Your load test is automatically distributed among all load generators, and the measurement results from all load-generating systems are automatically combined into one test result in order to provide a consolidated summary.
3. Reasonable price for a professional tool.
We are sure to give you one of the best price/performance ratios ever seen for a high-quality web load testing tool. The use of Apica ProxySniffer can be up to 20 times more cost-effective â compared to other web load testing tools which offering the same level of professional functionality.
If you are searching for a proven and comphrensive web load testing tool that allows you to implement your sophisticated performance tests in a timely and accurate manner, we recommend that you try the Free Edition of Apica ProxySniffer.You can also ask to evaluate the Professional Edition. On-site training is also available as an additional service.
Apica ProxySniffer runs out-of-the-box and can be installed easily and quickly on Windows, Linux, Solaris and Mac OS X systems.
Special product features includes:
- Universal HTTP(S) proxy recorder and integrated web crawler
- Powerful GUI
- Wide-ranging support of web standards and authentication methods
- Automatic protection from false positive measurement results
- Detailed real-time statistics and support for real-time error analysis
- In-depth measurements
- PDF reports and test result comparisons
- Concurrent load test execution
- Real-time comments
- Simulation of slow network connections
- Scheduling of load tests
- E-Mail and SMS alerts during load test execution
- Support for conditional execution of web pages and support for waiting loops at GUI level
- Full support for test automation of load test jobs
- Cluster technology
- Expandability of the product by using self-created plug-ins
Universal HTTP(S) proxy Recorder and Integrated Web Crawler
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.
Apica ProxySniffer works quite different than other load testing tools which are only capable of generating 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 to use Apica ProxySniffer product.
Wide-ranging support of web standards and authentication methods
Apica ProxySniffer 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 Apica ProxySniffer product and are also supported by the GUI:
- HTTP and HTTPS
- Structured data access via the GUI to HTML forms, HTML hyperlinks, HTML redirects, CGI parameters, JSON data, XML and SOAP data and to WebDAV data (extracting and assigning of dynamic session parameters at runtime during the execution of a load test).
- HTTP protocol extensions: client-side caching of network connections (keep alive), support for compressed response data (gzip, deflate), automatic processing of HTTP(S) session cookies, upload and download of files, and support for executing load tests via an outbound HTTP(S) proxy server of your company.
- SSL Protocol: SSL V2, V3 and TLS, as well as configurable client-side caching of SSL sessions (SSL session timeout).
- Support of J2EE URL Rewriting.
- Support of AJAX technology.
The following authentication methods (login procedures) for web applications are supported at GUI Level:
- HTML form-based login
- HTTP basic authentication
- HTTP digest authentication
- SSL authentication using X509 client certificates in PKCS#12 format
- SSL authentication using smart cards and HSMs (PKCS#11 security devices)
Automatic protection from false positive measurement results
During a load test, Apica ProxySniffer 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. 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 having to wait for the end of the test.
Apica ProxySniffer 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), 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. This enables you to 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. This also allows you 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 of running 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 results 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 be 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 logged in, 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 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 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â in 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 run them instantly as a load test, without any manual interaction.
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 in the GUI, you can select if you wish to automatically split the content of an input file. This can be useful 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
In rare case the successful execution of a load test may require functionality which is not provided in the standard version of Apica ProxySniffer.
Therefore, product extensions are availible in the form of load test plug-ins written in Java. This is the only functionality where Apica ProxySniffer cannot keep its promise of no programming knowledge required. The creation of a new plug-in is not difficult, and is supported by a wizard that automatically creates the program skeleton of the new plug-in. Only the core of the additional plug-in functionality needs to be programmed by hand.
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. For example, the following functionality can be realized during a load test by implementing your own plug-ins:
- Perform real-time calculations during the execution of a load test (e.g. in order to support a proprietary challenge-response authentication algorithm).
- Extract data from HTTP(S) responses and assign self-calculated data to HTTP(S) requests.
- Access external databases during the execution of a load test.
- Assign additional measured data to the load test result, which is then be presented in the form of additional XY-diagrams in the GUI and in PDF reports.
Please note: due to the fully-developed product functionality of Apica ProxySniffer, the development of self-created plug-ins is seldom necessary. More than 95 percent of our customers use our product without the need for a self-created plug-in.