Page 1 of 1

PHP 4/5 + FastCGI und Mass Virtual Hosting

Posted: 2005-11-03 17:31
by eru der eine
Hallo!

Ich setzte Apache2 + mod_fastcgi + PHP (ungefähr so wie im gepinnten Tut) bereits auf einer Hand voll mehr oder weniger ausgelasteter produktiver Server ein.

Nun kommt ein Projekt auf uns zu, bei dem wir 350-500 Benutzer (=Subdomains) - die meiste Zeit unter sehr geringer Last - haben, nach Möglichkeit PHP4 und PHP5 gemischt. Sie müssen mehr oder wenig vollständig voneinander getrennt sein, will sagen: Die Dateien der anderen Benutzer dürfen nicht per PHP auslesbar sein.

Mit php4/5_fastcgi dürfte es wegen der doch recht hohen Anzahl an getrennten Benutzern (=Prozessen) schwierig werden, mit mod_php kann man ja PHP4 und PHP5 kaum mischen, und suPHP hat ja nicht die tollste Performance.

Vielen Dank im Voraus,
Eru Der Eine

Re: PHP 4/5 + FastCGI und Mass Virtual Hosting

Posted: 2005-11-03 18:57
by andreask2
Hi!

FastCGI halte ich unter diesen Voraussetzungen nicht für die beste Alternative. Du kannst mod_php verwenden, wenn Du 2 Apache-Instanzen (eine mit php4, eine mit php5) laufen lässt, und einen davon als transparenten Reverse-Proxy verwendest. Hier bleibt jedoch das Rechte-Problem. Das kannst Du evtl. mit einem MPM wie Metux lösen, allerdings gelten die noch nicht als stabil.

Sonst bleibt eben nur CGI/SuPHP, was die meisten großen Hoster die sich ja auch mit diesem Problem konfrontiert sehen, auch verwenden. Von der Preformance einzelner Seiten würde ich mir jetzt keine Sorgen machen, nur wenn die gesamte Last zu hoch wird wird es zu langsam. Dann muss man die Virtual Hosts eben auf mehrere Maschinen verteilen.

Ich hatte da mal für Gentoo was geschrieben (da kann man inzwischen mit Portage PHP4 und PHP5 parallel installieren):

http://svn.gnqs.org/projects/gentoo-php ... format=raw

Hier findest Du auch ein paar Links zu weiteren php4/5 Kombinationen.

btw. - wenn jemand einen Kommentar hierzu hat wäre ich sehr dankbar, man bekommt meist nicht wirklich viele Rückmeldungen - eben nur bei wirklich krassen Fehlern. Wenn also jemand hierzu Verbesserungsvorschläge hat wäre ich wirklich dankbar wenn Ihr mich das wissen lassen würdet ;-)


Grüße
Andreas

Re: PHP 4/5 + FastCGI und Mass Virtual Hosting

Posted: 2005-11-04 00:23
by aldee
suexec (mit leicht gepatchten Sourcen) tut's wohl auch. Das verwendet AFAIK bspw. 1&1 (ohne FastCGI). Die haben auch mehrere PHP-Versionen als CGI parallel laufen (phpinfo.php, .php2, .php3 und .php5 auf einem 1&1-Webspace erstellen und vergleichen, sofern ein solcher zur Verfügung steht).

Re: PHP 4/5 + FastCGI und Mass Virtual Hosting

Posted: 2005-11-04 09:44
by sledge0303
Ich habe php4, php5 (beide CGI) suexec und FastCGI parallel zu laufen und dazu noch ein paar Dienste mehr. Ã?ber die Performance lässt sich streiten, sicherlich ist das PHP_Modul schneller aber nach ein paar durchgeführten Tests nicht im erwähnenswerten Bereich.
Nur haben wir keine 300 Benutzer, daher kann ich nur über meine paar Hanseln sprechen.
Hatte mal PHP5 als Modul und 4 als CGI angeboten. Die meisten aber haben keinen Unterschied zwischen PHP5 als Modul und CGI gemerkt, Grafiker mit ihrer benötigten GD Funktion würden sich schnell beschweren wenn es nicht schnell genug gehen würde!

Re: PHP 4/5 + FastCGI und Mass Virtual Hosting

Posted: 2005-11-04 10:12
by mausgreck
Eru Der Eine wrote: Nun kommt ein Projekt auf uns zu, bei dem wir 350-500 Benutzer (=Subdomains) - die meiste Zeit unter sehr geringer Last - haben, nach Möglichkeit PHP4 und PHP5 gemischt.
Unter der Annahme, dass ein User entweder PHP4 oder PHP5 verwendet und 5 Prozesse pro User gestartet werden, gibt das 500x5=2500 Prozesse. Das macht mir bei den heutigen RAM-Preisen und auf einem modernen UNIX keine großen Sorgen. Ich würde sagen: einfach ausprobieren, am besten 500 Domains per Skript anlegen und darauf zugreifen.

Re: PHP 4/5 + FastCGI und Mass Virtual Hosting

Posted: 2005-11-04 17:24
by eru der eine
Hallo,
danke für die vielen Antworten.
Unter der Annahme, dass ein User entweder PHP4 oder PHP5 verwendet und 5 Prozesse pro User gestartet werden, gibt das 500x5=2500 Prozesse. Das macht mir bei den heutigen RAM-Preisen und auf einem modernen UNIX keine großen Sorgen. Ich würde sagen: einfach ausprobieren, am besten 500 Domains per Skript anlegen und darauf zugreifen.
Genau da bin ich ein wenig skeptisch, vor allem weil wir nicht gerade HighEnd-Server haben werden.
Nur haben wir keine 300 Benutzer, daher kann ich nur über meine paar Hanseln sprechen.
Mir geht es gleich.


Ich fasse zusammen:
Entweder suexec/cgi-php4/5 in einem Apache2 oder mod_php4/5 auf zwei Apache-Instanzen + einen Proxy davor.
Das Rechte-Problem dürfte bei mod_php dank open_basedir einigermaßen in den Griff zu bekommen sein.

Was ist nun intelligenter? (lies: ein gutes Mittelmaß aus Simplizität, Performance, und Sicherheit)

Vllt. noch kurz was zum Einsatzzweck: Ein Schul-Portal, auf dem neben der "offiziellen" Applikation (Schulinformationen, interaktive Kalender, usw.) auch die jeweiligen Lehrer und Schüler Webspace (für Schul-, Privat-, und im Rahmen des Unterrichts entstandene Seiten) extrem billig mieten können. Die meiste Zeit werden die eh im Niedriglastbereich herumdümpeln, aber wenn man ein Skript Amok läuft, soll das möglichst nicht alle anderen Domains unnutzbar machen.

Wie eigentlich immer in öffentlichen Bereich haben wir nicht gerade gute Hardware zu Verfügung. Der Webserver wird - sofern die Performance ausreicht - auf einem 2.4Ghz Pentium IV mit 512 (vielleicht auch 1024) MB Ram laufen, also nicht gerade toll.

Ich hoffe, ihr könnt mir helfen ;) ,
Eru der Eine

Re: PHP 4/5 + FastCGI und Mass Virtual Hosting

Posted: 2005-11-04 18:03
by Joe User
Wenn bei dem Einsatzzweck auch noch ein DBMS und gegebenenfalls ein Mailsystem auf der Hardware werkeln soll, dann geht der Kiste bei zwei Apachen schnell die Luft (RAM) aus...

Re: PHP 4/5 + FastCGI und Mass Virtual Hosting

Posted: 2005-11-04 19:16
by eru der eine
Achja: Mail und DB sind auf zwei anderen Rechnern.

Eru Der Eine

Re: PHP 4/5 + FastCGI und Mass Virtual Hosting

Posted: 2005-11-04 19:35
by Joe User
In dem Fall sollte die Variante mit den zwei Apachen (und möglichst 1024MB RAM) am Besten für Euer Vorhaben geeignet sein. Bedenkt aber, dass gerade Schüler relativ schnell zu unfreiwilligen "Hackern" mutieren...

Re: PHP 4/5 + FastCGI und Mass Virtual Hosting

Posted: 2005-11-05 09:17
by eru der eine
Danke für die Antworten, ich werde das Setup dann angehen.
Die vHosts werde ich automatisch aus einer Datenbank generieren, wo auch die Informationen über php enthalten sind.

So sollte das eigentlich hinhauen

Eru Der Eine