![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 18.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:25 |