The tests were conducted on the same system, a PIII 500MHz system with 192 megabytes of RAM. The motherboard is an Asus P2B-D dual processor motherboard with one processor installed. All tests were conducted through the local loopback adapter.
The tests were conducted on a Linux 2.2.10 based system (initially a Redhat 6.0 system, later upgraded to 2.2.10) and on a FreeBSD 3.2 based system (initially a 3.1 installation upgraded to 3.2). The tests were conducted on both platforms with a dynamically linked libperl.so. The software used was Perl 5.00503, Apache 1.3.6, and mod_perl 1.21.
The tests were conducted with this script. The script was run three times and the results from the third run is what appears below. This httpd.conf was used on both platforms with no modifications. The directory structure was identical. The only different files in either system were the platform-dependant executables.
The following URLs were tested.
| URL | Handler |
|---|---|
| http://localhost/ | Flat html |
| http://localhost/index.html | Flat html |
| http://localhost/mp/ | mod_perl handler |
| http://localhost/cgi-bin/bench | C CGI executable |
| http://localhost/cgi-bin/bench.cgi | Perl CGI script |
| URL | Linux | FreeBSD |
|---|---|---|
| http://localhost/ | 766.11 requests/second | 860.76 requests/second |
| http://localhost/index.html | 996.41 requests/second | 1183.64 requests/second |
| http://localhost/mp/ | 518.24 requests/second | 568.28 requests/second |
| http://localhost/cgi-bin/bench | 210.19 requests/second | 154.94 requests/second |
| http://localhost/cgi-bin/bench.cgi | 7.22 requests/second | 6.94 requests/second |
Note: The difference in the first two tests is entirely inside of Apache. It would seem that Apache having to search for a default file when not given one tends to slow things down.