it-swarm.com.de

Nginx + WordPress + HHVM: Warum funktioniert Batcache nicht? Würde Lack noch mehr helfen?

Ich habe großartige Dinge überHHVMgehört, also habe ich eine Kopie des WordPress-Blogs (auf einer anderen Domain) mit Nginx (mit dem Pagespeed-Modul) und HHVM eingerichtet. Momentan liegen die Vorteile auf der Hand: In derselben Konfiguration sind die Ladezeiten zwei- bis dreimal schneller.

Ich versuche die Dinge ein wenig zu beschleunigen und habe auch Memcached und Batcache installiert. Ich habe das Paket memcached installiert, object-cache.php ( Pastebin ) in den Stammordner des WordPress-Blogs kopiert und anschließend das installiert Batcache Plugin und kopierte die advanced-cache.php ( Pastebin ) Datei in den wp-content Ordner. Außerdem habe ich die Zeile eingefügt

define('WP_CACHE', true);

in der wp-config.php Datei. Es scheint aber nicht zu funktionieren. Wenn ich die Seite mehrmals schnell neu lade Batcache sollte die zwischengespeicherte Seite anzeigen, tut es aber nicht. Es ist einfach, dies zu überprüfen, indem Sie die Seite mehrmals neu laden (Cmd + R in Chrome unter OS X) und dann den Code der Seite anzeigen. Unter dem Abschnitt <head> sollte ich einige Batcache-Statistiken sehen, aber sie sind nicht da.

Ich frage mich, ob mir jemand einen Hinweis geben könnte.

Nebenbei bemerkt, ich weiß nicht, ob ich eine andere Komponente hinzufügen könnte, um die Leistung noch zu verbessern. Ich habe etwas mit Lack zu tun, aber ich bin mir nicht sicher, ob es nur nutzlos ist und es ist nur ein anderer Weg zu dem, was ich gerade mache. Gibt es noch eine andere Komponente? (Ich werde CDN auf Bilder testen, js minimieren, etc und einige andere Tricks, aber ich spreche aus der Serverperspektive).

5
javipas

Ich denke die Antwort ist, dass HHVM nicht mit typischem Opcode-Caching funktioniert, der Compiler ist nicht derselbe wie "normale" PHPs. HHVM hat ein eigenes Opcode-Caching, das, soweit ich weiß, nicht in APC oder Zends OPcache integriert werden kann, sondern eine eigene Sache ist. Mit anderen Worten, es wäre überflüssig.

Sie können hier ausführlich darüber nachlesen: http://hhvm.com/blog/4061/go-faster (Vergleich mit APC).

Sie können jedoch HHVMs Caching mit memcached verwenden (zumindest denke ich, dass Sie das können). Es gibt verschiedene Probleme und Patches auf HHVMs Github, https://github.com/facebook/hhvm

Ich habe noch nie HHVM verwendet, aber es muss eine Möglichkeit geben, den Cache zu testen oder zu debuggen. Dies ist wahrscheinlich Ihre beste Route. Plugins, die "reguläre" PHP wie batcache verwenden, zeigen nichts an.

Um zu testen, ob es funktioniert, deaktivieren Sie das HHVM-Caching (ich glaube, die Einstellungen befinden sich unter den Laufzeitoptionen) und testen Sie die Site, indem Sie sie aktivieren/deaktivieren oder andere Cache-Einstellungen festlegen.

Eine andere Möglichkeit besteht darin, einfach define('WP_CACHE', true) in Ihrer wp-config.php -Datei anzugeben, und Sie können HHVM mit dieser Option abgleichen und prüfen, ob sie Auswirkungen hat.

Hier sehen Sie eine kompatible Liste von PHP Erweiterungen, die mit HHVM funktionieren: https://github.com/facebook/hhvm/tree/master/hphp/runtime/ext

1
Wyck