Eine Drupal Installation für > 1000 Websites. Geht das gut?
am 15.04.2010 - 14:05 Uhr in
Hi
ich suche nach Meinungen und Erfahrungen über den Einsatz von einer einzigen Drupal-Installation, auf der täglich neue separate Websites erstellt werden. Wir benötigen ein Setup, mit dem wir pro Jahr ca 1000 Websites erstellen können und das Grundsystem leicht aktualisierbar und natürlich performance-technisch stabil bleibt.
Dazu habe ich ein paar Fragen:
Ist es für die Performance sinnvoller, die DB-Tabellen aller Websites mit eigenen Prefixes in eine einzige Datenbank zu speichern - oder macht es mehr Sinn, pro Website eine neue Datenbank anzulegen?
Gibt es ein Modul oder eine Möglichkeit, den Zugriff per FTP beim Erstellen einer neuen Seite unnötig zu machen? Es wäre fantastisch, wenn ein simples Webinterface reicht, in dem man die Domain der neuen Seite eingibt, einen Standard-User anlegt und evtl ein Theme auswählt. Per Script müsste dann ein Ordner in root/sites erstellt und nach der neuen Domain benannt werden. Ebenfalls müsste es die Möglichkeit geben, alles im Theme-Ordner der neuen Website per Webinterface zu bearbeiten. Gibt es hier eine Art Code-Editor Modul?
Eignen sich hierfür die Drupal Installation Profiles ?
Die Idee ist, dass eine neue Websites mit wenigen Klicks generiert wird und die einzige Arbeit im Theming und Content füllen bleibt.
Ich bin dankbar für jede Meinung zu so einer Multisite-Installation, besonders falls jemand Erfahrung hat mit 1000 oder mehr Websites auf einer Installation.
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich weiß nur von einer
am 15.04.2010 - 15:35 Uhr
Ich weiß nur von einer Installation mit mehr als 1000 Sites und da die fürs US-amerikansiche Verteidigungsministerium ihren Dienst versieht, wirst du da kaum Infos zu bekommen.
Grundsätzlich muss klar sein, dass wenn man für 1000+ Websites dieselbe Code-Basis benutzt der / die Server der Last auch gewachsen sein müssen. Um das handhaben und skalieren zu können, wirst du kaum um mehrere Maschinen herumkommen, wirst eine Sychronisierung benötigen, Load-Balancing, etc. Datensicherung ist auch immer ein Dauerthema.
Alle Tabellen aller Installation in einer logischen DB abzulegen ist Overkill, denn das bedeutet, dass auch der oder die MySQL-Master-Server auch allesesamt alle diese Tabellen synchronisieren müssen, sämtliche Querys ausführen können müssen etc. Besser skalierbar ist je Site eine eigene DB zu benutzen. Je nachdem wie sich die DB-Last unter den Sites verteilt kann man durch Verschieben der DB auf einen anderen Server gezielter optimieren.
Das funktioniert natürlich nur, wenn die Sites auch wirklich eigenständig sind und keine Tabellen miteinander teilen.
Du kannst dir selbst Shell-Skripte bauen und / oder drush benutzen um von der Kommandozeile aus Sites zu erzeugen. Darüber wiederum kannst du auch ein wie auch immer geartetes User-Interface bauen, oder die Aegir mal genauer anschauen.
Suchmaschinenoptimierung (SEO) & Drupal
Vielen Dank für die Antwort.
am 15.04.2010 - 16:22 Uhr
Vielen Dank für die Antwort. Wir werden die Datenbanken dann auf jeden Fall trennen. Aegir sieht interessant aus, das schaue ich mir genauer an.
Die dicken Server inklusive Spiegelung, Load Balancing, etc sind vorhanden.
Gibt es noch mehr Erfahrungswerte zu 1000+ Multisites ?
OK, dann muss ich Pressflow,
am 15.04.2010 - 18:59 Uhr
OK, dann muss ich Pressflow, Varnish, APC, Memcache, ggf. Solr, CDN, usw. usf. ja nicht erwähnen :)
Suchmaschinenoptimierung (SEO) & Drupal