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

Ich habe großartige Dinge über HHVM gehört , also habe ich eine Kopie des WordPress-Blogs (auf einer anderen Domain) mit Nginx (mit dem Pagespeed-Modul) und HHVM eingerichtet. Im Moment liegen die Vorteile auf der Hand: Bei gleicher Konfiguration sind Ladezeiten zwischen zwei und drei mal schneller.

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

define('WP_CACHE', true); 

in der Datei wp-config.php . Es scheint jedoch, dass es nicht funktioniert. Wenn ich die Seite mehrmals neu lade, sollte Batcache die zwischengespeicherte Seite anzeigen, tut es aber nicht. Dies lässt sich leicht überprüfen, indem Sie die Seite mehrmals (Cmd + R unter Chrome unter OS X) neu laden und dann den Code der Seite anzeigen. Unter dem Abschnitt 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 performance noch besser zu machen. Mir geht es um Varnish , aber ich bin mir nicht sicher, ob es nur nutzlos ist und es ist nur ein weiterer Weg zu dem, was ich gerade mache. Irgendeine andere Komponente dort? (Ich werde CDN für Bilder testen, js und andere Tricks minimieren , aber ich spreche aus der Serverperspektive ).

Solutions Collecting From Web of "Nginx + WordPress + HHVM: Warum funktioniert Batcache nicht? Würde Varnish noch mehr helfen?"

Ich denke, die Antwort ist, dass HHVM nicht mit typischem Opcode-Caching arbeitet, der Compiler ist nicht dasselbe wie “normale” PHPs. HHVM hat sein eigenes Opcode-Caching, das, soweit ich weiß, nicht in APC oder Zend’s OPcache integriert ist, es macht seine eigene Sache. Mit anderen Worten, es wäre überflüssig.

Sie können darüber im Detail lesen: http://hhvm.com/blog/4061/go-faster (Vergleich mit APC).

Sie können jedoch die Zwischenspeicherung von HHVM mit Memcached verwenden (zumindest denke ich, dass Sie es können), es gibt mehrere Probleme und Patches auf HHVMs Github dazu, https://github.com/facebook/hhvm

Ich habe HHVM nie benutzt, aber es muss einen Weg geben, den Cache zu testen oder zu debuggen, das ist wahrscheinlich die beste Route, Plugins, die “normalen” PHP wie Batcache nutzen, zeigen nichts.

Um zu testen, ob es funktioniert, deaktiviere das HHVM-Caching (ich denke, dass die Einstellungen unter Laufzeitoptionen zu finden sind) und teste die Site damit aus / ein oder mit anderen Cache-Einstellungen.

Eine andere Möglichkeit besteht darin, einfach define('WP_CACHE', true) in Ihrer wp-config.php Datei zu definieren, und Sie können HHVM mit diesem off / on vergleichen und sehen, ob es irgendwelche Auswirkungen hat.

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