Mailinglisten-Archive |
Andreas Fay wrote: > Da tun sich mir aber noch ein paar Fragen dazu auf: > > Wenn ich nun mehrere Server habe, wie läuft dann die Synchronisation > der Daten ab, gerade auch bei mehreren Datenbanken?! > Wenn das kein Problem ist, dann wäre es eigentlich doch easy, wenn man > mehrere Server zur Verfügung stellt und diese dann einfach die Arbeit > von einem machen lässt. Das wäre zumindest am nahesten an dem System > meiner bisherigen Websiten. > > Beste Grüße, > Andreas > > Das ist die Aufgabe der Datenbank. Bei MySQL gibt es dazu zum Beispiel das Master - Slave Konzept. Ein Server ist der Master, auf diesem werden Update/Insert/Delete-Querys geschickt. Dieser Server verteilt die Daten an mehrere Slave-Server, an die bloss Select-Querys geschickt werden. Bei einer normalen Anwendung liest man viel mehr Daten aus, als das sie verändert werden. Siehe Wikipedia: http://de.wikipedia.org/wiki/Bild:Wikimedia-servers-2006-05-09.png Allgemein fallen mir zum Thema folgende Punkte ein: - Saubere Trennung von Code/Design mit Templates, vereinfacht die Wartung und Erweiterung - Caching: Es gibt 3 Stufen von Caching: DB-Querys (Ein SELECT COUNT(*) FROM user muss nicht mehrmals pro Sekunde durchgeführt werden) bzw. allgemein interne Berechnungen Fertig generierte Teile einer Website (z.B. Navigation) Komplett statische Seiten (Zumindest über einen bestimmten Zeitraum), das kann auch mit Squid-Servern geschehen - Datenbank-Design gut durchdenken, wie schon gesagt wurde, ev. auf hohe Normalisierung verzichten, Queries mit EXPLAIN prüfen - Optimimieren, mit einem Profiler wie xdebug Engpässe in der Anwendung finden und beseitigen - Einen Compiler-Cache wie APC oder eAccelerator einsetzen, kann eine Anwendung besonders bei vielen Dateien enorm beschleunigen. Bzw die entsprechenden Zend Produkte, falls die Mittel vorhanden sind ;) Gruss Sascha
php::bar PHP Wiki - Listenarchive