QAHTTPd is a powerful and high-secure embedded HTTP server, developed from scratch in Java.
QAHTTPd contains an integrated Web Application Firewall so that no third party products are required to protect the Web Server against hacking.
QAHTTPd is "self-contained" in the sense that no dependencies exist to any third party Java libraries.
The entire QAHTTPd is encapsulated in a single JAR-file.
QAHTTPd does not need to be "installed" before used. There is no "setup" procedure and no XML configuration files. QAHTTPd can just be started as a Java program or as an integrated Java thread (which run many sub-threads).
QAHTTPd is fast, secure, and stable, and is ideally suited to run professional high performance web sites and services.
QAHTTPd is not freeware: Using QAHTTPd in your own projects requires a commercial license. License price and JavaDoc are available on request.
QAHTTPd is the HTTP/S server of portal.realload.com and is used also by other Real Load product components such as Measuring Agent, Cluster Controller and Remote Proxy Recorder.
Proof of QAHTTPd Power | 600 Concurrent Users Endurance Test
QAHTTPd is powerful, secure and stable - this is not an empty promise - have a look at the following test result. There is no other Web Server which provides the same security, performance and functionality in such an easy way.
Test Case & Test Environment
- A copy of this website (www.dkfqa.com) including the QAHTTPd Web Server was installed on a local stand-alone system (192.168.0.112, Ubuntu 20, i5-4590T CPU @ 2.00GHz).
- The DOS protection of QAHTTPd was disabled so that the test could be run from a single load generator.
- The tested web session was recorded with a Real Load Remote Proxy Recorder and then converted on the Real Load Portal into an executable load test program, whereby each simulated user can execute up to 4 HTTPS requests in parallel (like a normal web browser).
- The local QAHTTPd Web Server was tested by an endurance test with 600 concurrent users for one hour. The load was generated from a local installed Real Load Measuring Agent (192.168.0.110, Ubuntu 20, i5-4570 CPU @ 3.20GHz).
QAHTTPd Web Server Test Result Summary
- Simulated Concurrent Users: 600
- Test Duration: 1 Hour
- Executed Web Sessions: 90,488
- Executed HTTPS Requests: 2,532,544
- Measured Errors: 0
- Average TCP Connect Time: 3 ms
- Average SSL Handshake Time: 82 ms
- HTTP Keep-Alive Efficiency: 85%
- Max. Pending HTTPS Requests: 3,576
- Average Successful HTTPS Responses per Second: 699
- Average CPU Load on Measuring Agent: 37%
- Average CPU Load on QAHTTPd Web Server: near 100%
Test Result Screenshots
Executed Web Session (real-time snapshot @ portal server):
Note: URL[24] is a QAHTTPd Weblet which generates a Captcha
Test Result (snapshot @ portal server):
CPU Usage and Java Garbage Collector at QAHTTPd Web Server:
There are no internal blockages and no memory leak. The QAHTTPd performance is only limited by the CPU.
Size of self-tuning QAHTTPd Worker Thread Pool during Test Execution:
The self-tuning worker thread pool has been expanded up to 2,458 threads - but the "Execution Queue Length" is still zero (0).
Size of self-tuning QAHTTPd Worker Thread Pool after Test Execution:
The self-tuning worker thread pool has shrunk back to 4 threads.