Deutsch    English

Engineering Office David Fischer AG - Switzerland

Engineering Office David Fischer AG - the manufacturer of ProxySniffer - is since May 2012 a company of the Apica group. To learn more about the excellent Apica's Web performance services visit
Features| Screenshots| Download| Pure Cloud| Licenses| FAQs| Support| Training| References| Partners| Contact| News

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:
  • Web Shops
  • Web Portals
  • Online Banking Applications
  • HTTP/S Video Servers
  • C2B und B2B Servers (XML/SOAP Services)
  • WebDAV Servers
  • Server for Mobile Applications
Powerful GUI: Easy To Use

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.
In-Depth Measurement Results

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.
Internal and Cloud-Based Load Generators

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.
Unlimited Load - 1,000,000 VU or Even More - Executing Real Web Sessions

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.
No other professional Web load and stress testing tool offers as much functionality for the same price.
3 Top Reasons to use ProxySniffer as your preferred Web Load Testing Tool:
  1. Powerful Functionality and More Efficiency. 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 even sophisticated load test procedures can be created and executed. For further information, see Special Product Features further down on this web page and take a look at the Screenshots.
  2. Use pre-installed load generators in the Amazon cloud on demand. Up to 20 high-duty load generators in the Amazon data centers (or more than 200 on request) are instantly available at your disposal. 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 ratio ever seen for a high-quality Web load testing tool.
If you are searching for a proven and full-featured Web load testing tool we recommend that you try ProxySniffer. As additional service you can also order on-site training at your location - in any country.

ProxySniffer runs out-of-the-box and can be installed easily and quickly on Windows, Linux, Solaris and Mac OS X systems.

Get the Load Testing Tool For Free:

Windows - Linux - OS X

New Paper

Executing Load Tests with Google Protocol Buffer (protobuf) Messages

Simulate thousands of iPhone and iPad users

HTTP(S) Traffic of any iPhone and iPad, and execute the recording as a load test. Read this PDF to learn more about our Pure Cloud solution

Supplemental Monitoring Service

Do you already know that your ProxySniffer load test can also be executed as a Web monitoring check at regular time intervals from more than 90 locations worldwide?
Visit the Apica website to learn more ...

Special Product Features
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 .

Powerful GUI
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:
  • HTTP and HTTPS
  • Structured data access via the GUI to HTML forms, HTML hyperlinks, HTML redirects, CGI parameters, JSON data, XML and SOAP data, WebDAV data and to Google protobuf data (extracting and assigning of dynamically session parameters at runtime during the execution of a load test).
  • HTTP Protocol Extensions: client-sided 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
  • NTLM
  • Kerberos
  • 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, 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 .

In-Depth Measurements
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.

Real-Time Comments
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.
Many of our customers make extensive use of the Proxy Sniffer cluster technology. Per load releasing cluster, up to 200,000 concurrent users (or even more) can be simulated, depending on your test scenario and on the power of your load releasing computer systems. For example, a Web surfing session covering 20 Web pages (inclusive images, CSS and JavaScript resources) can be executed more than 10,000 times within just one minute (this equates to 200'000 Web pages per minute).
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.
The installation kit provides a couple of ready-to-use plug-ins which are delivered in compiled form as well as in form of source code. For Example:
  • Automatically abort a load test if too many errors are measured within a configurable interval.
  • Write extracted variables to an output file (e.g. purchase order numbers).
  • Add support for testing Web servers which are using "DNS Round Robin" for load balancing.
Therefore, it is possible to implement product extensions in the form of Load Test Plug-Ins written in Java. This is the only functionality where Proxy Sniffer 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. As an 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 are 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 Proxy Sniffer, the development of self-created plug-ins is seldom necessary. More than 95% of our customers use our product without the need for a self-created plug-in.

Copyright 2010, 2011, 2012, 2013
Engineering Office David Fischer AG
All rights reserved.