|
G-WAN is a FREE Web App. server using full ANSI C scripts
savings: do the job with 5 million times less servers
First, G-WAN redefined the static Web content hierarchy on Windows and Linux.
Now, G-WAN redefines the standards of dynamic Web content generation.
In 2004, the U.S. Department of Justice ruled that it is no longer illegal to benchmark Microsoft IIS+.Net.
On a gigabit LAN, ApacheBench (ab) compared[1] G-WAN (120 KB), IBM Apache+PHP, SUN GlassFish+Java and Microsoft IIS+C#[2].
Result, G-WAN does the job with 5 million times[3] less servers:
Loan 100 years (131.4 KB)
Loan 50 years (66.2 KB)
Loan 10 years (13.8 KB)
Loan 1 year (2.4 KB)
G-WAN's limit is not the CPU, or the network -that's the OS kernel.
By contrast, the limit for other Web Application Servers is their own user-mode code. By the way, on a 50-GFLOP CPU, we should be able to process more loans than this.
Its high-performances with a very low CPU usage allows G-WAN to:
- perform better than other servers by not starving the kernel;
- generate more dynamic contents than all other App. servers;
- spare resources for database, email, proxy or virtual servers;
- save energy (CPUs consume much less with moderate loads);
- save money (use cheaper parts like ARM or Intel Atom CPUs);
- save space (use many times less servers than Apache or IIS).
Java, C# or PHP's footprint are in the 80-200 MB range.
Bloated runtimes and servers (~1 GB for IIS 7.0+C#) limit the resources that remain available to your applications -forcing you to buy more hardware than needed.
With G-WAN's savings the "hardware is cheap" slogan is no longer true: now you are either efficient or losing money because if you don't use G-WAN then your competitors will do it.
[1] ab and HTTP servers were run on dedicated hosts on a gigabit LAN (using this C code to launch ab) and these [ANSI C] [C#] [Java] [PHP] loan scripts on an Intel Core2 Quad X9650 3 GHz, 4 GB RAM (Vista Ultimate 64-bit, Ubuntu 8.4 LTS 64-bit) and a Xeon 3580 3.33 GHz, 12 GB RAM (Ubuntu 8.1 32-bit, Ubuntu 8.4 LTS 64-bit) Network: 1Gb/s (CPU speed did not make a difference for G-WAN: results were the same at 1.6 GHz).
[2] IIS stopped to serve loans[5] and reported 503 errors (service unavailable) before dying. Stopping and retarting IIS did not unlock the server. Rebooting worked. To save IIS from dying during each test, ab.c detects and dumps HTTP errors and stops the benchmark.
[3] Set #define STEP 1 in ab.c so you can find how early IIS falls. Divide G-WAN's requests per second (RPS) sum by IIS' sum (sums are found at the bottom of test.txt). For loan/100 years G-WAN serves 1.9 million times more RPS than IIS; loan/150 years: 5.8 million times more; loan/200/500/800 years[4]: infinitely more, as IIS then serves zero RPS).
[4] Because of rounding errors, a 800-year loan is the limit: going further loops forever. While G-WAN automatically stops infinite loops, others are locked up for life. GlassFish is periodically flushing the output, sending GB of data on the network forever (unless it dies from concurrency -there it needs a reboot as 'asadmin stop/start-domain' no longer responds).
[5] Why use loans? The purpose of Web Application servers is to build HTML pages and a loan is small enough to be easy to understand and to be easy port in different languages (when a program is long and complex, it's easy to favor a given product by using a poor implementation for all others). In addition, loans generate variable lengths and outputs (by just changing its 'length' and 'interests' parameters). This is therefore, a very pertinent test to compare scripting engines and Web servers.
|