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
>