PHP-Performance bei mehreren Programm-Instanzen

Hallo Zusammen!

Ich habe eine Php-Performance Frage bei einem System ähnlich wie dieser fiktiven Zusammenstellung:

- debian etch
- mysql
- apache2
- 2 GB ram
- Intel Core Duo 2.4 GHZ

Ich biete eine Php/Mysql-Applikation als onDemand-Lösung, also übers Internet, über meinen Server an.

Die Applikation besteht aus ca. 1000 Dateien wovon gut die Hälfte bei jedem Reload geladen werden.

Wir nennen die Applikation mal (An). Die Frage ist jetzt, ob es effizienter ist, für jeden Kunden die ganze Ordnerstruktur zu kopieren oder alle Kunden über die gleichen Dateien zugreifen lassen und nur eine andere Datenbank (DBn) dahinterhängen.

Also so:

(DB1) <-> (A1) <-- Kunde 1
(DB2) <-> (A2) <-- Kunde 2
(DB3) <-> (A3) <-- Kunde 3

Jeder Kunde hat also seine eigenen "Kopien" der Skripte ((A1) = (An)) und eine eigene Datenbank.

Oder ist es effizienter den Server so einrichzurichten:

(DB1) \............../Kunde 1
(DB2) -...(A1) ....-Kunde 2
(DB3) /..............\Kunde 3

Ich weiss nicht, ob der gleichzeitige Zugriff auf die selbe Datei länger dauert als viele Zugriffe auf verschiedene Dateien.

Ich hoffe ihr versteht mein Problem bzw. meine Frage und bedanke mich für eure Tipps und Antworten!!

Danke !

gruss,
cw
 
Viele Zugriffe auf verschiedene Dateien dauern immer länger als viele Zugriffe auf eine Datei, sofern die Daten nicht physisch getrennt werden, da ja zusätzlich jedesmal die Dateien geöffnet werden müssen. Bei der Anzahl an Dateien solltest du ggf. auch darüber nachdenken die statischen Daten in einem Memcache zu halten, weil sonst dein HD-Durchsatz recht schnell dicht sein dürfte.
 
Mal abgesehen davon musst du auch beachten, dass sich bei einzelnen Dateien für mehrere User der Festplattenplatz und der Wartungsaufwand (Update auf neuere Version) mit dem Faktor n (Anzahl der User) multipliziert.
 
Zurück
Oben