
Ich habe einen VPS mit Parallels/Plesk (11.0.9 Update Nr. 22, zuletzt aktualisiert am 31. Oktober 2012, 03:33 Uhr CentOS 6.3 (Final) x86_64).
Ich habe Apache (CGI/FastCGI) installiert und nginx als Reverse-Proxy. Alles funktioniert einwandfrei. Ich habe APC zum Zwischenspeichern installiert, aber das Problem ist, dass die Betriebszeit immer 0 beträgt. Es wird etwa alle 15 Sekunden neu gestartet. Ich habe überall nachgeschaut und kann keine Lösung finden, um das Problem zu beheben.
Der Server hat den Grace Restart aktiviert, allerdings alle 6 Stunden, was die APC-Betriebszeit nicht beeinflussen sollte. Bei der Suche in Google habe ich herausgefunden, dass dies mit Apache zusammenhängen könnte, das mit FCGId statt FastCGI läuft. Plesk/Apache verwendet diese Konfigurationsdatei: usr/local/psa/admin/conf/templates/default/service/php_over_fastcgi.php, deren Inhalt lautet:
<IfModule mod_fcgid.c>
<Files ~ (\.php)>
SetHandler fcgid-script
FCGIWrapper <?php echo $VAR->server->webserver->apache->phpCgiBin ?> .p$
Options +ExecCGI
allow from all
</Files>
Liegt das Problem hier oder woanders? Wie kann ich das Problem beheben, damit es mit FastCGI funktioniert und APC richtig funktioniert? Ich habe vergessen anzugeben, dass APC selbst bei einer Betriebszeit von unter einer Minute ziemlich gute Caching-Arbeit leistet (92 % sind Treffer).
Antwort1
PHP stirbt und dann wird ein neues erzeugt, wenn PHP_FCGI_MAX_REQUESTS erreicht wird. Sie können diesen Wert mit folgendem anpassen:
DefaultInitEnv PHP_FCGI_MAX_REQUESTS 5000
Antwort2
Es liegt wahrscheinlich daran, dass Fcgi die Anwendung beendet. Abhängig von Ihrer Auslastung (Anzahl der Anfragen pro Stunde) kann es entweder sein http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgidmaxrequestsperprocess
oderhttp://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html#fcgididletimeout(ich denke, das passt besser)
Versuchen Sie, diese Werte zu erhöhen, um einen Effekt zu erzielen.