Server Support Forum
Anzeige:

Zurück   Server Support Forum > Serverdienste > Webserver


Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 20.05.2009, 14:51
Registered User
 
Registriert seit: 05.2009
Beiträge: 4
Sporadischer 500 - premature end of script bei fcgid/Apache2

Hallo zusammen,

wir bekommen sporadisch die Apache 2 Fehlerseite "500 Internal Server Error" angezeigt und ich hab bisher noch auf keine Lösung gefunden. Hier mal die genaue Erklärung:

Setup:
  • Ubuntu 8.04 LTS
  • Apache2
  • MPM worker
  • mod fcgid
  • PHP 5.2.4-2ubuntu5.6 with Suhosin-Patch 0.9.6.2
  • APC Advanced PHP Accelerator
  • dickster Dual Quadcore Serverloft Server
  • dedicated root server (kein suExec oder so)

Fehlerbeschreibung:
Prinzipiell funktioniert die Seite gut, nur bekommen wir gelegentlich die oben genannte Apache2 500 Internal Server error Fehlerseite. Gelegentlich bedeutet hier: In den letzten 4 Tagen ca. 120 mal bei ~200.000 page impressions.

Der Fehler tritt jeweils sofort auf. Soll heißen, wenn es passiert, lädt die Seite nicht lange rum, sondern gibt den Fehler so schnell wie einen 404er.

Der zugehörige Apache2 Error log Eintrag lässt auf ein Problem mit fcgid schließen:
Code:
[Tue May 12 11:35:54 2009] [warn] (104)Connection reset by peer: mod_fcgid: read data from fastcgi server error.
[Tue May 12 11:35:54 2009] [error] [client xxx.xxx.xxx.xxx] Premature end of script headers: index.php, referer: http://xxx/index.php
[Tue May 12 11:35:57 2009] [notice] mod_fcgid: process /var/www/current/index.php(10249) exit(communication error), terminated by calling exit(), return code: 0

Config Settings
fcgid:
Code:
<IfModule mod_fcgid.c>
  AddHandler    fcgid-script .fcgi
  #IPCConnectTimeout 20

  # The connect timeout to a fastcgi application.
  IPCConnectTimeout 30

  # IPCCommTimeout n (20 seconds)
  # The communication timeout to a fastcgi application. Please increase this
  # value if your CGI have a slow initialization or slow respond.
  IPCCommTimeout 120
</IfModule>
(Siehe hier für eine Übersicht von fcgid Einstellungen.)

Sonstige Apache Config (Auszug):
Zitat:
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15

<IfModule mpm_worker_module>
StartServers 2
MaxClients 175
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

<Directory /var/www/current/>
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php
Options ExecCGI -Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
Evtl. relevante PHP config:
Code:
extension = apc.so
apc.enabled = 1
apc.shm_size = 48
apc.include_once_override = 1
apc.mmap_file_mask = /tmp/apc.XXXXXX

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 128M      ; Maximum amount of memory a script may consume (16MB)


Fehleranalyse
Die meisten Fehlerbeschreibungen, die ich gefunden habe gehen auf diesen Fehler ein, wenn fcgid überhaupt nicht funktioniert. Wie gesagt tritt der Fehler bei uns nur sehr selten auf.
Diese Quelle beschreibt mögliche Probleme mit flaschen End-of-line Charactern in den auszuführenden Skripten bzw. mit falschen Dateiberechtigungen. Wie gesagt bei uns eher nicht der Fall, da es sonst ja immer auftreten würde. (Habs natürlich außerdem überprüft).

Diese Quelle wiederrum argumentiert mit falschen Timeouts, welche wir auch erhöht haben. Der Umstand, dass der Fehler, wenn er auftritt, ohne jegliche Wartezeit angezeigt wird lässt mich auch daran Zweifeln, ob es Timeouts sind, die hier das Problem machen.

Ich meine irgendwo gelesen zu haben, dass evtl. abweichende Memory Einstellungen für PHP und fcgid Probleme machen könnten. Ich find aber unter diesen Stichworten leider nichts mehr in die Richtung.

Hat jemand Ideen?

Gruß,
christopher
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten

  #2  
Alt 23.05.2009, 23:47
Registered User
 
Registriert seit: 05.2009
Beiträge: 4

Schade, da keiner auf dasselbe Problem gestoßen zu sein scheint werden wir wohl zurück zum prefork und mod_php müssen...
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3  
Alt 30.06.2009, 17:47
Registered User
 
Registriert seit: 06.2009
Beiträge: 1
premature end of script bei fcgid/Apache2

Hallo Christopher!
Konntest du das Problem eigentlich lösen?
Bin gerade auf dein Posting gestoßen, da ich mit ähnlichen Problemen kämpfe.
Die ersten Abrüche nach 40 Sekunden konnte ich stoppen, nachdem ich im Vhost Container den IPCCommTimeout gesetzt und erhöht habe.
Jetzt brechen die Scripte aber nach ca., aber immer nur ca. 360 Sekunden mit
dem Error Eintrag Premature end of script headers... ab.
Ich finde, diese zeitliche Ungenauigkeit hört sich mehr nach deiner letzen Bemerkung zur evtl. abweichenden Memory Einstellung von PHP und fcgid an.

Gruß Felix
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4  
Alt 30.06.2009, 18:13
Registered User
 
Registriert seit: 05.2009
Beiträge: 4

Hallo feliks,

wir konnten das Problem leider nicht lösen. Ein Paar Tage nachdem ich das hier geposted habe wurde es sogar noch schlimmer und unserer ganzer Apache ist abgeschmiert und lies sich nicht wieder neu starten. Wir hatten in dem Moment einiges an Load auf der Seite, da alle unsere User offenbar auf F5 rumgehämmert haben. Der Apache hat dann ununterbrochen diese Fehler geschmissen und war auch durch runterschrauben von erlaubten parallelen Verbindungen nicht dazu zu überreden, einen Zustand zu erreichen in dem er auch nur eine einzige Seite ausliefern konnte.

Ich hab wohl oder übel dann den MPM prefork wieder mit mod PHP installiert. Ich bin überrascht, dass der worker mit fcgid in anderen Installationen offenbar stabil läuft. Bei uns machte er den Eindruck einer total instabilen Alpha Version

Nichtsdestotrotz bin ich aber auch sehr daran interessiert zu hören, was für Erfahrungen andere Leute in die Richtung hier gesammelt haben... Da es bei anderen ja geht hab ich den Verdacht irgendein grundlegendes Konzept von dem Ding nicht verstanden zu haben und das ärgert mich natürlich

Grüße,
christopher
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5  
Alt 07.12.2009, 21:27
V.I.P. - Da ReaL OnE
 
Registriert seit: 10.2004
Ort: Germany
Beiträge: 83
xeomueller eine Nachricht über ICQ schicken xeomueller eine Nachricht über AIM schicken xeomueller eine Nachricht über MSN schicken xeomueller eine Nachricht über Yahoo! schicken xeomueller eine Nachricht über Skype™ schicken

Gibt es dazu Neues? Denn genau seit gestern tritt dieses Phänomen auch auf.

Auch Ubuntu mod fcgid.

Die anderen VHosts unter Plesk laufen prima (auch fast cgi)

Die Logs sind bei mir auch die gleichen. Es läuft eine joomla Installation darauf. Hat jemand einen Rat?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6  
Alt 07.12.2009, 21:34
Registered User
 
Registriert seit: 05.2009
Beiträge: 4

Hallo,

von unserer Seite aus gibt es da nichts neues. Wir fahren wieder den prefork mit mod_php und der läuft bei uns äußerst stabil. Nicht ein einziger Absturz in 6 Monaten.

Da geb ich lieber ein Paar Euro mehr für zusätzliche Hardware aus als mich mit dem instabilen Zeug weiter rumzuärgern nur weil es "einen kleineren footprint" hat...

Wenn Du was herausfindest aber bitte trotzdem schreiben.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7  
Alt 30.12.2009, 15:46
Registered User
 
Registriert seit: 12.2009
Beiträge: 10

Das Problem kenne ich. Die genaue Ursache dafür habe ich nie herausgefunden. Ich vermute einen Zusammenhang mit der Ressourcenauslastung des Servers sowie den benötigten Apache- und damit PHP-Prozessen. Zumindest war mein Gefühl, dass der Fehler häufiger auftrat, wenn etwas mehr auf dem Server los war - wobei man von "Auslastung" nicht wirklich reden konnte (was IMHO darauf hindeutet, dass evtl. nicht genug Prozesse/Threads für die Abarbeitung zur Verfügung stehen).

Seit langer Zeit tritt der Fehler bei uns nicht mehr auf (Debian Lenny). Allerdings verwenden wir nicht das mitgelieferte FCGI-Mod sondern fastCGI, welches wir mit apxs2 direkt als Modul kompiliert haben. Schon bei den ersten Versuchen damals trat dann der Fehler seltener auf, war aber dennoch nicht provozierbar - sondern weiterhin unmotiviert sporadisch.

Seit dem wir komplett auf Standard-Debian-Pakete für Apache2-MPM-worker und PHP5 gewechselt sind und dabei fastCGI wie oben genannt kompiliert haben, läuft es wie am Schnürchen. Wobei man gestehen muss, dass sich der Server langweilt.

Ich weiß, das klingt nicht nach Wissenschaft sondern nach Aberglauben und Hexerei. Aber wir können gern im direkten Kontakt mal die jeweilige config durchsprechen und vergleichen.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #8  
Alt 05.01.2010, 18:20
Benutzerbild von kostaki
peew, peew
 
Registriert seit: 11.2009
Ort: Berlin
Beiträge: 9

scheint ja ein debian/apache2/fcgid Problem zu sein. Hat es schon mal jemand mit einem Squeeze probiert? Mir gehen die Fehler langsam auch auf den Senkel...
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
apache2, apc, error 500, fcgid, premature


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[HowTo] PHP4/PHP5 als CGI - gepatcht (deutsches HowTo) server4downs FAQs & Anleitungen 188 24.11.2008 16:34
Serverprobleme snufy99 Plesk 10 19.11.2008 01:02
Apache2 wird von einer Topliste zugespamt! killahmark Virtuelle Server 39 30.07.2007 22:52
Fataler RAM-Überlauf!! Fireball22 Virtuelle Server 6 19.08.2006 00:01
Premature End of Script Headers dtalk Webserver 4 13.12.2005 20:22






Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 Uhr.


Powered by vBulletin® Version 3.7.6 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2