Apache 2: mod_fcgid vs mod_fastcgi

Some time ago, I used mod_fcgid on my server. Everything went fine, except when dotclear2 became needed. After some test, I concluded that it wont work with mod_fcgid given because of certain rewrite rules. This seems to be a known issue, and the only solution at the time of writing it to use mod_fastcgi in its stead. Difference between mod_fastcgi and mod_fcgid is mostly at license level. Although mod_fastcgi is somewhat non-free, and after some troubles with the configuration, I decided to give it a try 😉[1]

After configuring two vhosts, one with mod_fcgid and one with mod_fastcgi, I benchmarked a simple « Hello world » program on Apache2. Results are speaking by themselves:

  • mod_fcgid benchmark test:
Server Software: Apache/2.2.3
Server Hostname: xxx
Server Port: 80

Document Path: /
Document Length: 11 bytes

Concurrency Level: 5
Time taken for tests: 48.867314 seconds
Complete requests: 10000
Failed requests: 13
(Connect: 0, Length: 13, Exceptions: 0)
Write errors: 0
Non-2xx responses: 13
Total transferred: 2959503 bytes
HTML transferred: 119256 bytes
Requests per second: 204.64 [#/sec] (mean)
Time per request: 24.434 [ms] (mean)
Time per request: 4.887 [ms] (mean, across all concurrent requests)
Transfer rate: 59.14 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 1 23 360.7 1 12064
Waiting: 1 23 360.7 1 12064
Total: 1 23 360.7 1 12064

Percentage of the requests served within a certain time (ms)
50% 1
66% 1
75% 1
80% 1
90% 1
95% 1
98% 17
99% 21
100% 12064 (longest request)
  • mod_fastcgi benchmark test:
Server Software: Apache/2.2.3
Server Hostname: xxx
Server Port: 80

Document Path: /
Document Length: 11 bytes

Concurrency Level: 5
Time taken for tests: 18.150717 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 2950000 bytes
HTML transferred: 110000 bytes
Requests per second: 550.94 [#/sec] (mean)
Time per request: 9.075 [ms] (mean)
Time per request: 1.815 [ms] (mean, across all concurrent requests)
Transfer rate: 158.67 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 1 8 194.4 2 11504
Waiting: 1 8 194.4 2 11504
Total: 1 8 194.4 2 11504

Percentage of the requests served within a certain time (ms)
50% 2
66% 3
75% 3
80% 3
90% 4
95% 12
98% 17
99% 20
100% 11504 (longest request)

I do not know if I’m doing wrong with mod_fcgid, but the fact is that mod_fastcgioperates at 250 request/second faster. No need to say, dotclear2 is coming soon on this blog 🙂

[1] thanks Pep 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *