PHP 4/5 + FastCGI und Mass Virtual Hosting

Apache, Lighttpd, nginx, Cherokee
Post Reply
eru der eine
Posts: 25
Joined: 2005-10-24 11:41
 

PHP 4/5 + FastCGI und Mass Virtual Hosting

Post 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
andreask2
Posts: 696
Joined: 2004-01-27 14:16
Location: Aachen
 

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

Post 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
aldee
Posts: 93
Joined: 2002-10-03 16:45
 

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

Post 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).
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

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

Post 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!
mausgreck
Posts: 84
Joined: 2005-03-19 17:22
 

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

Post 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.
eru der eine
Posts: 25
Joined: 2005-10-24 11:41
 

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

Post 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
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

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

Post 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...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
eru der eine
Posts: 25
Joined: 2005-10-24 11:41
 

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

Post by eru der eine »

Achja: Mail und DB sind auf zwei anderen Rechnern.

Eru Der Eine
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

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

Post 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...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
eru der eine
Posts: 25
Joined: 2005-10-24 11:41
 

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

Post 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
Post Reply