Chciałem ustawić sobie php w trybie fastcgi.

FastCgiIpcDir /usr/aa
AddHandler fastcgi-script .fcgi
FastCgiSuexec /usr/h2/bin/suexec
FastCgiConfig -killInterval 30 -pass-header HTTP_AUTHORIZATION -startDelay 3

<Location /php-fastcgi/>
Options ExecCGI
SetHandler fastcgi-script
</Location>

<VirtualHost *>
ServerAlias adres.strony.pl
DocumentRoot /home/user/public_html/
SuexecUserGroup user user

ScriptAlias /php-fastcgi/ /usr/suexec/
AddType application/x-httpd-fastphp .php
Action application/x-httpd-fastphp /php-fastcgi/fcgi

</VirtualHost>

I wszystko działa. Ale problem jest taki że jak np skrypt PHP się długo wykonuje, np 22 sekundy to co 3 sekundy spawnuje mi się kolejny child (wg. ust startDelay). Zajęty jest tak naprawde tylko jeden child, obróbka 22 sekundowego skryptu, ale spawnuje mi się maksimum wolnych childów (do ust -maxClassProcesses). To wygląda tak jakby fastcgi miał błąd i sprawdzał czy są wolne childy sprawdzając tylko ten pierwszy za każdym razem i za każdym razem gdy jest zajęty co 3 sekundy spawnował nie potrzebne wolne childy. Równolegle mogę odpalić jakiś szybki 1 sekundowy skrypcik i leci bez problemu bo childy są wolne, ale spawuje się ich max, co jest równoznaczne z odpaleniem ich statycznej ilości.
Wiem że można zrobić jeszcze wraper bashowy do fcgi, ale to nie ma sensu w użyciu z suexec, a bład jest ten sam wtedy jak sprawdzałem. Mogłbym ustawić startDelay na dużą wartośc ale wtedy faktycznie gdy zabraknie childów to się nie odpali nowy przez tyle sekund.