Markdorisons Antwort ist im Grunde die akzeptierte Methode, um dieses Problem zu bekämpfen. Ich gehe noch ein bisschen weiter.
Wenn Pressflow für D6 oder Drupal für D7, Memcached und Varnish gut zusammenarbeiten, müssen Sie Ihre VCL- Datei benutzerdefiniert codieren . Es gibt kostenlose, die als Ausgangspunkt dienen, aber Sie müssen immer damit spielen.
Damit Varnish optimal funktioniert, müssen Sie es mit -s malloc xG und nicht mit der Standardeinstellung -s file / path / to / file starten. Auch mit Varnish können Sie statische Elemente so lange wie möglich im Varnish-Cache speichern.
Wenn Sie mehr als einen Webserver haben, entfernen Sie das ETag aus dem Header, der in VCL an Varnish gesendet wurde. Ich entferne auch Expires und verlasse mich einfach auf Age und max-age in den Headern, damit die Browser wieder auf die Site gelangen.
Version 1.5 (ab 3. März 2011) ist immer noch die schnellste Version des Memcached-Moduls von Drupal.org. Normalerweise verwende ich ein einzelnes Fach pro Server, um den TCP-Verkehr für Verbindungen zu mehreren Fächern im großen Maßstab zu verringern.
Konfigurieren Sie das Caching in "Leistung" auf extern und legen Sie ein maximales Alter fest, das die richtigen Header an einen Caching-Proxy wie Varnish sendet.
Wenn bestimmte Seiten in Varnish nicht ordnungsgemäß zwischengespeichert werden können, lesen Sie die Blogposts im Web, in denen ausführlich erläutert wird, wie die Anforderungen überprüft werden. Hier ist ein Beispielbeitrag, den ich vor einiger Zeit geschrieben habe: Was hindert Varnish und Drupal Pressflow daran, Seitenaufrufe anonymer Benutzer zwischenzuspeichern?
Sie sollten InnoDB (oder einen seiner anderen Namen von anderen Anbietern wie XtraDB) für MySQL auswählen und alle Tabellen in dieses Verzeichnis verschieben. Dann lesen Sie diesen Blog-Beitrag, um grundlegende Tipps zur Optimierung zu erhalten. Http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/
Ein großer Pufferpool ist von grundlegender Bedeutung. Aktivieren Sie beim Testen der Site das langsame Abfrageprotokoll. Sie möchten wahrscheinlich zuerst Abfragen erfassen, die länger als 50 ms dauern, dann die Abfragen optimieren und die langsame Protokollerfassungszeit wiederholt verringern, bis die meisten Abfragen mithilfe von Indizes ausgeführt werden und relativ schnell ausgeführt werden.
Andere Grundlagen beinhalten APC für PHP. Wenn Sie sich für schnelles CGI anstatt für mod_php entscheiden, sollten Sie einige Zeit damit verbringen, den APC-Cache für alle PHP-Instanzen gemeinsam zu nutzen, indem Sie ein gutes Wrapper-Skript konfigurieren. Stellen Sie außerdem sicher, dass sich der APC-Cache in einer Speicherzuordnungsdatei befindet, um das letzte Bit aus PHP herauszuholen.