Apache mod_fcgi segítségkérés

Apache mod_fcgi tuningolásához kérek sürgős segítséget.

Egy bizonyos idő után 

"mod_fcgid: can't apply process slot for /var/www/php-fcgi-scripts/web21/.php-fcgi-starter..."

hibaüzenetek kíséretében lelassul, leáll az oldal. 

   FcgidMaxProcesses 6000
   FcgidMaxProcessesPerClass 300

beállítások mellett sem indít 20~25-nél több php-cgi processt.

 

Díjazás ellenében SOS segtséget kérek!

 

Köszönöm!

Hozzászólások

Én nem értek hozzá, de akkor PHP oldalról közelíteném meg akkor a problémát és olvasnám a doksit. PHP_FCGI_MAX_REQUESTS ???

Éppen az itt olvasottak miatt vettem le 0-ra:

By default, PHP FastCGI processes exit after handling 500 requests, and they may exit after this module has already connected to the application and sent the next request. When that occurs, an error will be logged and 500 Internal Server Error will be returned to the client. This PHP behavior can be disabled by setting PHP_FCGI_MAX_REQUESTS to 0, but that can be a problem if the PHP application leaks resources.

De nem volt jó 500, 5000 és 10000-es értékkel sem.

Az esetek 99%-ban adatbázis lock okozza a problémát. :)

zászló, zászló, szív

Nem értem a smile-t. Ez most komoly? Tényleg van néhány ilyen üzenet a mariadb naplóban, de nem néztem, hogy ilyenkor hülyül-e meg?

 

 Aborted connection 2440 to db: '#drupaldb#' user: '#drupaluser#' host: 'localhost' (Got an error reading communication packets)

A helyzet az, hogy a fenti párhuzamos PHP processz számok minimum durvák egy mondjuk normál webszerveren. Ha jól látom a web21-ből, akkor ez egy ISPconfig. Első körben apache status, és MySQL processlista csekkolás, hogy mégis mi történik. Jellemzően nem a végtelenbe emelt limitek, hanem az ok megszüntetése szokott segíteni. Ha valóban SQL issue, akkor látsz majd egy rakás waiting for table lock-ot, aminél felmerül, hogy még myisam táblákat használnak.

Egyébként komoly, simán előfordul adatbázis, pontosabban tábla lock. Az egyik védelem, hogy a max_user_connection-t jóval a teljes maximum alá teszed. A PHP-ra jellemző, hogy nem konstans tartja nyitva, de ha mégis, akkor is egészen sokáig elketyegsz 20-30-50-es per oldal limittel. Ez egyidejű párhuzamos elő kapcsolat.

Köszönöm a válaszokat!

Ezeket a limiteket én emeltem ekkorára, de semmi hatásuk nem volt. Ákos tanácsára ellenőriztem a mariadb processeket is. 5~10 process volt sleep státuszban függetlenül attól, hogy épp működött vagy döglődött-e az oldal.

Most az ISPconfigban átkapcsoltam a wrappert Fast-CGI-ről PHP-FPM-re, ettől látszólag meggyógyult. Nem naplóz figyelmeztetéseket, eltűntek a sleep kapcsolatok és nem is lassult le az oldal.

Futtattam egy ingyenes Loadster stressztesztet. azt is túlélte. 

Hamarosan futtatok egy sokkal nagyobb tesztet, aztán meglátjuk...

 

Köszönöm!