ispCP - Board - Support
[GELÖST] [Apache / FCGI] Error 500 - Zu viele Connections nach Ausserhalb - Printable Version

+- ispCP - Board - Support (http://www.isp-control.net/forum)
+-- Forum: ispCP Omega International Area (/forum-22.html)
+--- Forum: German Corner (/forum-26.html)
+---- Forum: Archiv (/forum-54.html)
+---- Thread: [GELÖST] [Apache / FCGI] Error 500 - Zu viele Connections nach Ausserhalb (/thread-5028.html)



[GELÖST] [Apache / FCGI] Error 500 - Zu viele Connections nach Ausserhalb - Kaimane - 11-28-2008 08:08 AM

Hallo zusammen ...

hab heute ein kleines Script (php) vom alten auf dem neuen Server (ispCP) portiert. Beim Ausführen bekomme ich einen Fehler 500. Nach einiger Zeit Recherche hab ich den Fehler dann gefunden, jedoch konnte ich ihn leider nicht beheben.
Folgendes passiert im Script: Zuerst werden aus der DB einige Datensätze eingeladen (~ 500, kann aber auch mal mehr oder weniger sein). Aufgrund dieser Datensätze stellt das Script per HTTP-Request Verbindungen zu einem externen Server her (Anzahl der Verbindungen = Anzahl der eingelesenen Datensätze).
Diese 500 Verbindungen zum externen Server scheint meinem Neuen zu viel zu sein und gibt einen Fehler 500 aus. Begrenze ich jedoch die Anzahl der einzulesenden Datensätze auf 100 gibt es keine Probleme.

Schätze somit, dass in irgendeiner Config die Anzahl der Verbindungen nach Aussen begrenzt werden. Nur leider weiß ich nicht, welche Einstellung ich dafür abändern muss, damit die Verbindungen wieder zugelassen werden.

Würde gerne von euch wissen, an welcher Stelle ich "schrauben" muss, damit die (durchaus 500 Verbindungen) zum Externen durchgelassen werden.

Vielen Dank im Voraus!

---------------------- EDIT ----------------------

Habe den Fehler nach langem Ausprobieren nun gefunden.
Der Fehler lag in der Datei /etc/apache2/mods-available/fastcgi_ispcp.conf

Vorher
Code:
FastCgiConfig -minProcesses 1 \
                   -maxProcesses 400 \
                   -maxClassProcesses 5 \
                   -multiThreshold 80 \
                   -killInterval 60 \
                   -startDelay 5
                   # -singleThreshold 100 \
                   # -autoUpdate \
                   # -pass-header HTTP_AUTHORIZATION

Nachher
Code:
FastCgiConfig -idle-timeout 300 \
                   -minProcesses 0 \
                   -maxProcesses 400 \
                   -maxClassProcesses 5 \
                   -multiThreshold 80 \
                   -killInterval 60 \
                   -startDelay 5
                   # -singleThreshold 100 \
                   # -autoUpdate \
                   # -pass-header HTTP_AUTHORIZATION

Es haben also lediglich zwei Werte dazu beigetragen, dass der Fehler 500 nicht mehr auftaucht: 'idle-timeout 300' sowie 'minProcesses 0'.

Zudem habe ich die /var/www/fcgi/domain.tld/php5-fcgi-starter wie folgt abgeändert (siehe Post)
Code:
#!/bin/sh

umask 022

# Alle alten PHP Prozesse, die dem Init gehoeren, killen
ps ax -F | awk '{ if ( $3 == "1" && $1 == "vu2005" && $12 == "/usr/bin/php5-cgi" ) { print "kill " $2 } }' | sh

PHPRC="/var/www/fcgi/domain.tld/php5/"

export PHPRC
#PHP_FCGI_CHILDREN=2
#export PHP_FCGI_CHILDREN
#PHP_FCGI_MAX_REQUESTS=500
#export PHP_FCGI_MAX_REQUESTS

exec /usr/bin/php5-cgi

Hoffe ich kann mit dieser Erkenntnis auch anderen Usern helfen.
Vllt werden diese Einstellungen vom ispCP-Team für das nächste Release übernommen.

Viele Grüße und ein schönes WE an alle!


RE: [Apache / FCGI] Error 500 - Zu viele Connections nach Ausserhalb - joximu - 11-28-2008 09:12 AM

aktivier doch php-error-log,
ggf. prüfen, ob du suhosin ext drin hast

/J


RE: [Apache / FCGI] Error 500 - Zu viele Connections nach Ausserhalb - Kaimane - 11-28-2008 09:59 AM

(11-28-2008 09:12 AM)joximu Wrote:  aktivier doch php-error-log
In den Logs gibt es lediglich folgende brauchbare Zeilen:
Code:
[Fri Nov 28 00:44:10 2008] [warn] FastCGI: (dynamic) server "/var/www/fcgi/domain.tld/php5-fcgi-starter" (uid 2005, gid 2005) started (pid 17232)
[Fri Nov 28 00:44:15 2008] [warn] FastCGI: (dynamic) server "/var/www/fcgi/domain.tld/php5-fcgi-starter" (uid 2005, gid 2005) started (pid 17236)
[Fri Nov 28 00:44:20 2008] [warn] FastCGI: (dynamic) server "/var/www/fcgi/domain.tld/php5-fcgi-starter" (uid 2005, gid 2005) started (pid 17239)
[Fri Nov 28 00:44:25 2008] [warn] FastCGI: (dynamic) server "/var/www/fcgi/domain.tld/php5-fcgi-starter" (uid 2005, gid 2005) started (pid 17242)
[Fri Nov 28 00:44:30 2008] [warn] FastCGI: scheduled the start of the last (dynamic) server "/var/www/fcgi/domain.tld/php5-fcgi-starter" process: reached dynamicMaxClassProcs (5)
Zudem ist das Script ja nicht fehlerhaft, sondern irgendeine Einstellung am Server, die die externen Verbindungen blockiert; bzw. ab einer bestimmten Anzahl von Verbindungen.

(11-28-2008 09:12 AM)joximu Wrote:  ggf. prüfen, ob du suhosin ext drin hast
Nein, suhosin ist nicht auf dem Server installiert.

Ich habe es noch nicht ausprobiert, aber kann es sein, dass durch diesen Lösungsvorschlag das Problem behoben werden kann?!

-------------------
EDIT:
Habe nun versucht den PHP_FCGI_CHILDREN Wert auf meiner Meinung nach übertriebene 15 hochzusetzen (vorher 2) sowie den PHP_FCGI_MAX_REQUESTS Wert auf 1000 (vorher 500). Aber auch damit funktioniert es leider nicht. Immer noch der Fehler 500.

Jemand eine Idee an welchen Werten man noch schrauben könnte?!