WauWau: [APACHE] SAPI vs. CGI

Hola mal wieder :-),

mal wieder Zeit - mal wieder posten. Ganz anschaulich wird mein Zeitmangel

wahrscheinlich dadurch sichtbar, dass meine Postings, die ich afaik erst vor

"kurzem" gestellt habe, schon im Archiv gelandet sind :-/

Na gut, wie der Titel schon sagt, geht es mal wieder um SAPI vs. CGI, dass heißt,

ich wollte mich nur mal ein bisschen informieren, da ich aufgrund des Quentchens

Zeit auch etwas an meinem Webserver machen werde (geplant ist speziell in Bezug

auf dieses SAPI/CGI-Zeugs ein C-Ersatz meines momentan noch in PHP geschriebenen

kleinen "Footers" für ne Menge Dateien (etwa 7.000 bis 10.000) - ich gehe mal

davon aus, dass ein kleines feines Programm dieser Aufgabe besser gewachsen ist

als mein PHP-Script.), daher ein bisschen WLF (Wissenslückenfüllen *bg*) - für die

WL's (naja, _diese_ Bedeutung ist dann ja wohl klar ;-).

Nungut, also auch weg vom WL&-F ;-) - zurück zu etwas ernsteren. Wie ich "vorher"

wusste, würde ein per CGI eingebundenes "CGI-Programm", z.B. PHP, bei jedem Aufruf

neu gestartet werden...(so sicher war ich mir da nie)..., was auf meinem IIS

sofern kein Problem war, da ich es damals sowieso noch besser für meinen PC fand,

erstens mal hatte ich keine Ahnung von irgendwas (Neudeutch: 'hatte keinen peil'

;-) - dazu kam, dass ich meinem PC halt nicht so einen "Ressourcenverbrauch" in

Punkto Webserver zumuten wollte - mein Apache "frisst" schließlich im "Leerlauf"

20MB von meinen wertvollen 256MB RAM (ich weiß nicht, in wie fern der Prozessor

dann noch eine Rolle spielt, ich gebe jetzt einfach mal Intel Pentium III 667MHZ

an)... was meiner Meinung nach zuviel ist, da mein Computer damit im Leerlauf über

50% Arbeitsspeicher belegt hat :-(, [zurück zum Hauptsatz]...im Gegensatz zu einem

per SAPI eingebundenen Programm, welches irgendwie im Hintergrund laufen würde [?]

  • das würde auch die 20MB Leerlauf vom Apachen erklären. Hinzuzufügen sei dem

noch, dass PHP per CGI einbinden sich mir unter dem Apache als ein extremer

Umstand erwies, da z.B. etliche Umgebungsvariablen plötzlich anstatt des

Scriptnamens "php.exe" hatten, usw. [später erwies sich dieses eigenartige

Verhalten des Apachen als überaus normal heraus, aber wer liest schon gerne

MB-große Manuals?] - entsprechend blieb mir gar nichts anderes übrig, als PHP per

SAPI einzubinden, welches nun in Etwa die gleichen Funktionen wie ein per CGI im

IIS eingebundenes PHP bieten konnte und kann.

So, nun mein "aktuelle[res|s] Wissen" - diesem läge sebstverständlich das "alte

Wissen" zugrunde, mit ein paar "Korrekturen", z.B. dass ein per SAPI eingebundenes

Programm im Gegensatz zu einem per CGI eingebundenen (btw "eingebundenes

Programm": Gemeint ist natürlich ein "CGI-Programm" bzw. vergleichbares, also wie

bereits oben gesagt so etwas wie PHP) nur einen neuen Prozess starten würde, oder

wie - nein, so war es: Der apache würde kein externes programm starten, sondern

einen eigenen "Kindprozess", in dem dann php.exe (in diesem beispiel halt immer

noch PHP) laufen würde. Dies erspare minimal weniger Prozesserauslastung, da nur

ein neuer Prozess gestartet wird, nicht ein Programm.

Wenn dies nun so sei, würde das bedeuten, wenn ich jetzt dazu noch Perl als SAPI reinladen würde (vielleicht "bekomme" ich bald DSL - dann würde es sich für mich erst einmal anbieten, ActivePerl; die Entwicklungsumgebung für Java und vieles mehr runterzuladen), hätte ich reintheoretisch nicht mehr prozesserauslastung nach dem motto "Programm läuft im hintergrund" - ooooder?

Hmm - vielen dank für freundliche antworten :-),

euer immerwährender WauWau
                            -- wuf wuf *scnr*

--
Wau - hier ist mein Selfcode:
ss:) zu:) ls:< fo:~ de:] va:) ch:° n4:# rl:( br:< js:| ie:% fl:| mo:|
[mein alter sah optisch irgendwie besser aus ;-)]