You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Alexey Vlasov <re...@renton.name> on 2010/01/13 10:57:10 UTC
mod_fcgid, graceful restart
Hi.
It seems to me that graceful restart doesn't work in mod_fcgid at all.
My configuration:
<IfModule mod_fcgid.c>
FcgidProcessTableFile /tmp/fcgidshm_aux7
FcgidIPCDir /tmp/.fcgidsock_aux7
FcgidMinProcessesPerClass 0
FcgidIdleTimeout 300
FcgidIdleScanInterval 1
FcgidProcessLifeTime 150
FcgidErrorScanInterval 150
FcgidFixPathinfo 1
</IfModule>
...
<VirtualHost *>
<IfModule fcgid_module>
FcgidWrapper /full/path/to/wrapper .php
FcgidIOTimeout 150
</IfModule>
</VirtualHost>
I made a simple script to check my guess:
$ cat sleep.php
<?php sleep (60); echo OK; ?>
Checking without Apache restart:
$ time wget http://test-aux7/sleep.php
--2010-01-12 16:53:08-- http://test-l12-aux7/sleep.php
Resolving test-aux7... 111.222.11.22
Connecting to test-aux7|111.222.11.22|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `sleep.php'
[ <=> ] 2 --.-K/s in 0s
2010-01-12 16:54:08 (258 KB/s) - `sleep.php' saved
real 1m0.466s
user 0m0.000s
sys 0m0.004s
$ cat sleep.php
OK
Here is everything ok.
Now with graceful restart:
time wget http://test-aux7:80/sleep.php
--2010-01-12 16:57:15-- http://test-aux7:80/sleep.php
Resolving test-aux7... 111.222.11.22
Connecting to test-aux7|111.222.11.22|:80... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2010-01-12 16:57:22-- (try: 2) http://test-aux7:80/sleep.php
Connecting to test-aux7|111.222.11.22|:80... connected.
HTTP request sent, awaiting response...
Here what goes in error_log:
[Tue Jan 12 16:55:27 2010] [emerg] [client 10.0.2.11] (22)Invalid argument: mod_fcgid: can't lock process table in pid 4172
--
BRGDS. Alexey Vlasov.
Re: mod_fcgid, graceful restart
Posted by Brad Plant <bp...@iinet.net.au>.
On a slightly related note - I have seen that the cgi-handler continues to function for a GET request after a graceful restart, but not for a POST request.
Cheers,
Brad
On Wed, 13 Jan 2010 12:57:10 +0300
Alexey Vlasov <re...@renton.name> wrote:
> Hi.
>
> It seems to me that graceful restart doesn't work in mod_fcgid at all.
>
> My configuration:
> <IfModule mod_fcgid.c>
> FcgidProcessTableFile /tmp/fcgidshm_aux7
> FcgidIPCDir /tmp/.fcgidsock_aux7
> FcgidMinProcessesPerClass 0
> FcgidIdleTimeout 300
> FcgidIdleScanInterval 1
> FcgidProcessLifeTime 150
> FcgidErrorScanInterval 150
> FcgidFixPathinfo 1
> </IfModule>
> ...
> <VirtualHost *>
> <IfModule fcgid_module>
> FcgidWrapper /full/path/to/wrapper .php
> FcgidIOTimeout 150
> </IfModule>
> </VirtualHost>
>
> I made a simple script to check my guess:
> $ cat sleep.php
> <?php sleep (60); echo OK; ?>
>
> Checking without Apache restart:
> $ time wget http://test-aux7/sleep.php
> --2010-01-12 16:53:08-- http://test-l12-aux7/sleep.php
> Resolving test-aux7... 111.222.11.22
> Connecting to test-aux7|111.222.11.22|:80... connected.
> HTTP request sent, awaiting response... 200 OK
> Length: unspecified [text/html]
> Saving to: `sleep.php'
>
> [ <=> ] 2 --.-K/s in 0s
>
> 2010-01-12 16:54:08 (258 KB/s) - `sleep.php' saved
>
> real 1m0.466s
> user 0m0.000s
> sys 0m0.004s
>
> $ cat sleep.php
> OK
> Here is everything ok.
>
> Now with graceful restart:
> time wget http://test-aux7:80/sleep.php
> --2010-01-12 16:57:15-- http://test-aux7:80/sleep.php
> Resolving test-aux7... 111.222.11.22
> Connecting to test-aux7|111.222.11.22|:80... connected.
> HTTP request sent, awaiting response... No data received.
> Retrying.
>
> --2010-01-12 16:57:22-- (try: 2) http://test-aux7:80/sleep.php
> Connecting to test-aux7|111.222.11.22|:80... connected.
> HTTP request sent, awaiting response...
>
> Here what goes in error_log:
> [Tue Jan 12 16:55:27 2010] [emerg] [client 10.0.2.11] (22)Invalid argument: mod_fcgid: can't lock process table in pid 4172
>