**Web Stress Tool
This is phase 1 of a three phase project.
The phases are, design, coding and testing.
These will be seperate biddable projects. The design and coding may be carried out by the same persons but the testing will be definately 3rd party. The designers will receive preferential selection if they can demonstrate the ability to design to a high standard and work to a high quality.
I need a tool designed which can do the following.
http(s) GET/POST with optional client ssl functionality.
Multi-threaded, cross platform, multi cpu Win32 + Unix (esp Linux).
Gui driven (probably swing java on a [url removed, login to view], open to alternate suggestions) via a JNI interface to a C++/C library. The native code will use the latest openssl distribution for platform independant crypto+ssl functionality and performance.
The tool will have two modes of operation. In single message mode the gui will allow POST-able data to be pasted into a window (if a post verb is used) and sent, the response (if any) is displayed in an opposite window. Other data such as timeout and headers can be set here too.
In stress mode (alternate screen?) the tool will also allow stress testing with some parameters from the single message screen, as well as extra parameters such as threads, gui update rate, SSL session reuse, adjust headers, etc to be dynamically adjustable while the test is running. The tool will dynamically report stats such as requests per second, throughput, response type count (e.g. 200 OK, 500 error, connection dropped..). These final results can be simply saved to a text file for later analysis.
(The design should note that a third screen could be added later which can perform tests on the returned data such as e.g. content inspection)
Performance here is the main objective, this tool should have the ability to push webservers to their breaking point.
**Design documents only** are requred and will completely describe interfaces and gui components to developers.
These should in their entirety be enough to develop the software, and should include for instance C/C++ API calls, JNI interfaces, auto generated skeleton code, and proposed GUI screenshots, and a general impression as to how the software should perform. The native design should include the ability to swap gui interfaces if later required (e.g. allowing scripting the native code via shell or bat files but this is not required at this stage).
2) The design tools used should either be open source, free or readily available/standard so that developers can use the design files/documents without licencing expensive 3rd party software.
**3) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).**
UNIX expecially Linux e.g. redhat, debian.
The design should take into consideration multi cpu and 64 bit architecture if and where this applies.
Latest stable Sun JVM (if needed 1.4.2?)
Latest stable Openssl distribution.