Running at AL now 2.3.7 again, all fine again with 1-3 processes instead of the 30+ with 2.3.8.

The config live running here and your config for synthetic test is different. And not using fat php processes and max processes is in place.

Not any mod_fcgid directives here in a vhost, only in server the commonly used config for php. All vhosts here serving .php, including the default vhost. Running server 2012.


<IfModule fcgid_module>
FcgidInitialEnv PHPRC "d:/servers/apache/conf/"
FcgidInitialEnv PATH "d:/servers/apache/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"
FcgidInitialEnv SystemRoot "C:/Windows"
FcgidInitialEnv SystemDrive "C:"
FcgidInitialEnv TEMP "C:/WINDOWS/Temp"
FcgidInitialEnv TMP "C:/WINDOWS/Temp"
FcgidInitialEnv windir "C:/WINDOWS"

FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
FcgidMaxRequestsPerProcess 1000
FcgidMaxProcesses 50
FcgidMaxRequestLen 8131072

# added for z-push iPhone
FcgidIOTimeout  7200
FcgidConnectTimeout 180
FcgidBusyTimeout 7200
</IfModule>



<Files ~ "\.php$>"
 AddHandler fcgid-script .php
 FcgidWrapper "d:/servers/apache/php/php-cgi.exe" .php
</Files>


On Monday 30/09/2013 at 01:36, Jeff Trawick  wrote:

On Sun, Sep 29, 2013 at 5:14 PM, Jeff Trawick <traw...@gmail.com> wrote:






On Sun, Sep 29, 2013 at 4:04 PM, Steffen <i...@apachelounge.com> wrote:






Becoming dramatic here, already running over 30 processes. Running out of memory this way.


All time high here is 5 processes, and while writing this mail it is already 34 and all 34 have an entry in the mod_status page.

Also looks like it is not stopping/killing processes any more, have entries with 1784 seconds idle (FcgidIdleTimeout is default, 300)

Going back to 2.3.7 at AL.


On Sunday 29/09/2013 at 21:15, Steffen  wrote:



Observe a different behavior compared to 2.3.7


- It spawns a lot more mod_fcgid processes, looks like vhost is in charge (mod_fcgid only global defined here)

- I see in Windows taskmanager and in mod_status 5 processes and the error log says that the are 3 started, a mismatch.

- Also different in mod_status page, see more then one entry for Process: php-cgi.exe

With 2.3.8 splitted now :

Total FastCGI processes: 5
Process: php-cgi.exe  (d:/servers/apache/php/php-cgi.exe)
Pid    Active    Idle    Accesses    State
4620    487    43    17    Ready
Process: php-cgi.exe  (d:/servers/apache/php/php-cgi.exe)
Pid    Active    Idle    Accesses    State
3840    515    109    5    Ready
Process: php-cgi.exe  (d:/servers/apache/php/php-cgi.exe)
Pid    Active    Idle    Accesses    State
6552    557    456    6    Ready
Process: php-cgi.exe  (d:/servers/apache/php/php-cgi.exe)
Pid    Active    Idle    Accesses    State
3204    1962    7    187    Ready
5036    2143    17    192    Ready


With 2.3.7 was only one entry, like:

Process: php-cgi.exe  (d:/servers/apache/php/php-cgi.exe)
Pid    Active    Idle    Accesses    State
3204    1962    7    187    Ready
5036    2143    17  �� 192    Ready
...

Not really trust 2.3.8 (yet), give me a few days to observe more.



Thanks, Steffen. I'll try to reproduce soon and see which commit changed that. (Maybe 1377398?)



So far I've only set up a simple test... Simple perl FastCGI script, ab -n 200000 -c 20, default main vhost configuration, this for the vhost:


<VirtualHost *:8082>
FCGIDCmdOptions /home/trawick/myhg/apache/fcgid/apps/altinfo.pl \
   InitialEnv VHOST=any \
   InitialEnv PERL5LIB=/home/trawick/perl5/lib/perl5
</VirtualHost>

2.3.7 grows up to about 12 (vs. max 20 concurrent clients).
2.3.8 grows up to about 20.

I got both the fastest and slowest times for 200,000 requests using 2.3.8. Generally I suspect 2.3.7 is slightly faster, but I don't have a good overall summary.

If you're using FcgidCmdOptions, I'd recommend using the MaxProcesses parameter to something that your system can handle. Otherwise, see FcgidMaxProcesses and FcgidMaxProcessesPerClass. Regardless of 2.3.7 or 2.3.8.

Still, for this simple scenario + configuration, 2.3.7 would have been better (generally not worse performance, uses 40% fewer processes). Different scenarios would have different results, but I think that the common, fat PHP processes would have bigger problems with 2.3.8 if there is no reasonable configured limit on the max to spawn.

Does anyone else have time to play?















On Sunday 29/09/2013 at 20:01, Jeff Trawick  wrote:



Tarballs/zips are at http://httpd.apache.org/dev/dist/mod_fcgid/

Shortcut to changes: http://httpd.apache.org/dev/dist/mod_fcgid/CHANGES-FCGID


+/-1
[  ] Release mod_fcgid 2.3.8 as GA

I'll hold the vote open for 72 hours unless something out of the ordinary occurs.

Thanks in advance for testing!
--
Born in Roswell... married an alien...
http://emptyhammock.com/









--
Born in Roswell... married an alien...
http://emptyhammock.com/



--
Born in Roswell... married an alien...
http://emptyhammock.com/



Reply via email to