[Technik] FastGCI mal wieder
Christof Donat
cd at actsoft.de
Fri Mar 16 14:33:54 CET 2007
Hi,
> > Wobei laufende Prozesse dann üblicherweise auch dauerhaft
> > DB-Verbindungen oder Dateien geöffnet halten.
> >
> > Ich weiß nicht, wie sich das auswirkt...
>
> ein weiteres Problem von fast-cg wäre, dass viele Perl Skripte nicht
> damit klarkommen, mehrfach hintereinander in derselben Perl-Engine
> ausgeführt zu werden weil sie Variable nicht initialisieren.
Das tritt nicht auf, weil
1. das Skript nur einmal ausgeführt wird. Es bleibt dann eben selber aktiv.
Sozusagen ein Applicationserver in Perl.
2. dadurch ja nicht jedes CGI-Skript zu einem FastCGI-Skript wird. Weder durch
mod_fcgi, und noch weniger durch cgi-fcgi. Letzteres ist ein in C
geschriebenes, sehr kleines CGI-Skript, dass eine FastCGI-Anwendung startet,
wenn sie noch nicht läuft und den Request dahin weiterleitet. mod_fcgi tut
das gleiche nur eben nicht als cgi-Skript, sondern als Apache-Modul.
> Hat PHP das Problem nicht?
Nein, PHP initialisiert alles für das Skript bei jedem Skriptstart neu.
> Mit der vorgestellten Idee wäre das Problem aber auch gelöst, da man dann
> bei solchen Skripten eben beim normalen CGI bliebe.
Auch das ist natürlich auch mit mod_fcgi möglich, die Konfiguration ist aber
etwas komplizierter.
Zur Erklärung ein kurzer Abriss, wie FastCGI funktioniert:
Der Webserver baut eine Verbindung zum Applicationserver auf und schickt einen
(oder auch mehrere) Request durch die Verbindung an den Applicationserver.
Dessen Antwort wird als Antwort an die Anfrage zurückgegeben. Wenn es von
beiden Seiten unterstützt wird, können mit Connection-Multiplexing mehrere
Requests auch parallel durch eine Verbindung bearbeitet werden.
Mit CGI hat es nur so viel zu tun, als dass es Libraries gibt, die ein
leichtes portieren von CGI-Skripten in FastCGI Skripte unterstützt.
Mit cgi-fcgi übernimmt das CGI-Skript die Rolle des Webservers, der natürlich
kein Connection-Multiplexing unterstützt. Das kann aber mod_fcgi für Apache 1
auch nicht.
Christof
--
actSoft gmbh Software nach Maß
Zugspitzstr. 211 www.actsoft.de
86165 Augsburg cd at actsoft.de
Registergericht Augsburg
Geschäftsführer Augsburg HRB 21896
Christof Donat UStID: DE 248 815 055
More information about the Technik
mailing list