Ich habe Drupal 7, APC mit PHP-FPM und Apache hinter Lack und 512 MB RAM.
Ich messe die Ausführungszeit einer Seite mit dem Entwicklungsmodul.
Die Datenbankabfragezeit ist niedrig (62 ms) im Vergleich zur Seitenausführungszeit von 854 ms. Das heißt, es gibt ein Problem mit den PHP- und APC-Einstellungen.
Meine aktuellen Einstellungen sind einfach
apc.shm_size = 64
apc.stat=1
Wie kann ich mich verbessern?
Was sind die besten Einstellungen für Drupal angesichts der obigen Konfiguration?
Vielen Dank
quelle
Dies ist eine jener "wie lange ist ein Stück Zeichenfolge Fragen".
Was für eine Site mit hohem Volumen gut ist, stimmt möglicherweise nicht mit einer Site mit niedrigem Volumen und vielen Modulen überein, und stimmt möglicherweise nicht mit einer Site mit mittlerem Volumen und nur wenigen aktivierten Modulen überein. Andere Sites, die auf dem Server ausgeführt werden, greifen möglicherweise auch auf den von APC verfügbaren Speicher zu.
Mein Ausgangspunkt ist
Ich passe dann die Einstellungen für den Server an, aber auch hier gibt es keine Einheitsgröße für alle Einstellungen.
Suchen Sie nach apc.php (wahrscheinlich unter /usr/share/pear/apc.php) und installieren Sie es in DOCROOT für Ihre Drupal-Installation. Sperren Sie es über Apache config auf Ihre IP-Adresse. Bearbeiten Sie den Benutzernamen / das Kennwort in und navigieren Sie zu diesem. Sie sehen dann Ihre APC-Statistiken.
Konfigurieren Sie den Parameter shm_size neu, um Cache-Fehler zu minimieren. Im Idealfall möchten Sie dem Cache gerade genug Speicherplatz geben, damit eine Datei niemals einen Cache-Fehler erleidet, sowie zusätzlichen Speicherplatz für den APC-Benutzercache.
Optimieren Sie die TTL, um Cache-Churning zu verhindern. Wenn Sie keine Dateien bearbeiten, können Sie diese Nummer erhöhen.
enable_cli ist praktisch, wenn Sie häufig drush verwenden, sodass drush die zwischengespeicherten Dateien von APC verwendet.
rfc1867 ist praktisch zum Hochladen von Dateien.
Mir ist auch die PHP-Fpm im Titel aufgefallen. Dies erschwert die Sache und geht wirklich über den Rahmen von Drupal Answers hinaus. Möglicherweise erhalten Sie bei Server Fault bessere Antworten , da sich viele der Systemkonfigurationseinstellungen nicht direkt auf Drupal beziehen.
quelle
APC verbessert nur das Laden und Parsen von PHP-Dateien. Ein großer Teil ist auch die Ausführungszeit selbst. Es gibt viele Faktoren, die die Ausführungszeit verlängern können, einschließlich Fehlern (insbesondere Cache-bezogene Fehler), internem Overhead (z. B. drupal_alter (), module_implements ()) und so weiter.
Wie Sie gefragt haben und bereits von mikeytown2 vorgeschlagen wurden, würde ich xhprof verwenden (ich bevorzuge es heutzutage gegenüber xdebug, da es direkten und schnellen Zugriff auf das Ergebnis bietet und keine zusätzlichen Tools erfordert), um herauszufinden, wo Ihre Engpässe sind.
Ich habe kürzlich zwei Blog-Posts über die Verwendung von xhprof in Drupal und typische Engpässe geschrieben , die Sie vielleicht interessieren.
quelle