Christian: mod_perl - Anfragen werden nur sporadisch beantwortet

Beitrag lesen

Hallo Chris,

ich hatte noch ein paar weitere Ideen und nun auch weitere Ergebsnisse. Zum ersten gehe ich davon aus, dass der Apache 15 Sekunden mit dem Abbauen der Verbindung wartet, damit für weitere Anfragen, z.B. Bilder, nicht noch eine weitere Verbindung aufgebaut werden muss. Das ist hier aber egal :)

Normale HTTP-Requests, also .html-Dateien laufen sauber durch. Auch "einfache" Perl-Skripte laufen mit mod_perl sauber, Fürs Ausgeben von ein paar Zeilen Text dauerts etwa 0.2s. Soweit so gut.

Die Probleme treten bei "großen" Skripten auf. Ich habe ein größeres Projekt mit einigen Modulen und dort tritt das Problem ab und zu auf. Im error.log vom Apache finde ich häufig folgende Zeile:

[notice] child pid 1998 exit signal Segmentation fault (11)

Daher kommen dann auch die FINs auf den HTTP-Request. Aber manchmal funktioniert die Anfrage eben.

Aber bei dieser Anfrage kann ich keinen Geschwindigkeitsvorteil durch mod_perl feststellen. Das Skripte braucht für den ersten Lauf etwa 13s und bei einem Reload ändert sich nichts. Manchmal braucht es auch 25s oder 17s, aber einen Vorteil durch mod_perl kann ich noch nicht erkennen.

Die Frage insgesamt ist also, woher die Segmentation faults kommen und warum das Skript trotz mod_perl solange braucht (das Skript gibt eigentlich nur ein HTML-Formular aus und lädt dafür CGI, DBI, Session und noch ein paar kleine andere Module)

Viele Grüße
Christian