So konfigurieren Sie einen Server mit 4 g Speicher für die Ausführung von Drupal 7

9

Ich installiere Drupal 7 auf einem neuen Server mit 4 GB Speicher. Ich möchte einige Hinweise erhalten, wie man es richtig konfiguriert, wie viel Speicher MySQL und wie viel Speicher PHP zur Verfügung stellt. Eine Sache, die ich herausgefunden habe, ist, dass das Ausführen von Drupal 7 auf einem Zend-Server dreimal schneller ist als das Ausführen auf einem normalen Apache-Server. (Ich denke, es hat mit Opcode-Caching zu tun. Ich habe festgestellt, dass das Entwicklungsmodul ein Drittel des Speichers belegt.

Können Sie mir Ihre Konfigurationen mitteilen?

Nicola Peluchetti
quelle

Antworten:

5

Wenn Sie bereits über Drupal7-Daten verfügen, sollten Sie diese in eine Staging-Umgebung laden und eine Puffergröße basierend auf der vorhandenen Datenmenge durchführen.

Schritt 1) Sie müssen zuerst die Puffergrößen für Ihren Datensatz berechnen .

Schritt 2) Wenn die empfohlenen Größen 75% Ihres installierten Arbeitsspeichers überschreiten (in Ihrem Fall 3 GB), begrenzen Sie die erforderlichen Puffer auf 3 GB.

Schritt 3) Wenn Sie InnoDB-Daten haben und innodb_file_per_table nicht aktiviert haben, müssen Sie InnoDB bereinigen, indem Sie jede Tabelle in einen eigenen physischen Tabellenbereich segmentieren (dies muss nur einmal durchgeführt werden) .

Sobald Sie dies getan haben, sollten Sie planen, dieses Konfigurationsaudit (Schritte 1 und 2) alle 6 Monate durchzuführen, um sicherzustellen, dass das richtige MySQL-Caching vorhanden ist.

Interessanterweise habe ich eine ähnliche Frage beantwortet und am 15. April 2011 beantwortet .

RolandoMySQLDBA
quelle
4

Einige Dinge zu sehen :

Ein Artikel zum Lesen :

Rackspace's: Die Bereitstellung von Drupal in der Cloud mit Nginx und Boost sollte Ihnen viele Ideen geben.

Kleines Zitat zum Opcode-Caching:

Wir verwenden APC als Opcode-Cache. Dies erspart dem Server das erneute Kompilieren des PHP-Codes bei jedem Laden der Seite. Darüber hinaus passt das Ganze problemlos in den Arbeitsspeicher (normalerweise geben wir APC 128 MB Arbeitsspeicher an). Dies verringert die CPU-Auslastung drastisch. Angemeldete Benutzer können die Site jetzt viel schneller durchsuchen. Aber wir können immer noch nur eine begrenzte Anzahl von ihnen behandeln. Wir können es ein bisschen besser machen. Anstatt MySQL jedes Mal abzufragen, wenn wir in den Cache gehen, können wir diese Tabellen im Speicher speichern. Hier kommen memcached und das Cacherouter-Modul.

Bart
quelle
2

Ich habe mit my_huge conf aus dem mysql-Verzeichnis angefangen. Ich habe der Mischung auch den Lack-Cache hinzugefügt. Wie Sie bereits herausgefunden haben, verbessert Zend die Leistung erheblich.

Nachdem ich einige Tage ausgeführt hatte, führte ich das Skript mysqltuner aus und befolgte einige der Empfehlungen, hauptsächlich zum temporären Tabellen-Cache.

markenwärts
quelle
1

Abhängig von der Größe der Site möchten Sie möglicherweise auch memcached anzeigen. Dies konkurriert mit MySQL um Ressourcen, kann jedoch die Belastung verringern.

Jeremy French
quelle
Tatsächlich können Sie sowohl den InnoDB-Pufferpool als auch den MyISAM-Schlüsselcache verkleinern, wenn der zwischengespeicherte Speicher groß genug ist. Auf diese Weise konkurriert memcached nicht mit mysql, aber mysql ergänzt memcached lediglich als Datenkanal und nicht als Hauptdatenbank. +1 für den Vorschlag, zuerst zwischengespeichert zu werden !!!
RolandoMySQLDBA