[FASTCGI] opstart tijd van PHP met suexec (FreeBSD)

Pagina: 1
Acties:

  • RupS
  • Registratie: Februari 2001
  • Laatst online: 22-01 12:46
Ik heb geen idee of dit topic hier op zijn plek is, want het is een erg specifiek probleem, maar ik denk dat ik hier de meeste kans heb op een antwoord :)

Op een webcluster draai ik PHP via suexec onder FastCGI, om iedere VirtualHost een "eigen" php omgeving te geven. Dit werkt allemaal prima en vooral erg snel als het eenmaal draait.
De eerste keer dat het PHP script wordt gestart duurt het tot 4 seconden voordat er een response komt, wat natuurlijk te lang is.

In de httpd.conf staan de volgende directives voor FastCgi:
FastCgiWrapper /usr/local/sbin/suexec
FastCgiConfig -init-start-delay 1
FastCgiConfig -maxClassProcesses 5 -maxProcesses 50
FastCgiConfig -singleThreshold 100

Ik heb met deze directives e.e.a. uitgeprobeerd, maar het lijkt wel alsof de FastCgiConfig volledig wordt genegeerd. Ook als ik de -idle-timeout aanzet, en bijvoorbeeld op 15 minuten zet, lijkt dit null effect te hebben.... Hier komt bij dat de documentatie wat onduidelijk is, en ik niet zeker weet of dit het draaiende houden van de processen inhoudt, of het afbreken van een request naar een proces dat al x secs. geen output meer heeft gegeven (ik vermoed het laatste).

Een standaard virtualhost ziet er zo uit:
<VirtualHost *:80>
        DocumentRoot /www/vhost/public_html/
        ServerName www.vhost.nl
        ServerAdmin webmaster@vhost
        ScriptAlias /fcgi-bin/ /www/vhost/etc/
        SuexecUserGroup vhost vhost
        ScriptAlias /cgi-bin/ /www/vhost/cgi-bin/
        Action application/x-httpd-php /fcgi-bin/php.sh
        FrontPage On
        FrontPageAdmin Off
</VirtualHost>


Het php.sh script, dat de PHP processen start:
#!/bin/sh

PHP_FCGI_CHILDREN=3
export PHP_FCGI_CHILDREN
exec /usr/local/bin/php

Ook het verlagen van het aantal children heeft geen zin.

Ik wil graag blijven werken met FastCgi, omdat het in alle opzichten superieur is aan mod_php, alleen is dit ene probleem wel een behoorlijke doorn in het oog :)
Ik hoop dat er meer mensen zijn die FastCgi draaien, en die hier misschien wel helemaal geen last van hebben :+

[edit]
Ow ja, versies:
FreeBSD 5.3
Apache 2.0.53
PHP 4.3.11
mod_fastcgi 2.4.2

[ Voor 12% gewijzigd door RupS op 13-06-2005 11:12 ]