web-dev-qa-db-ja.com

Nginx + WordPress + HHVM:Batcacheが動かないのはなぜですか?ニスはさらに役立つでしょうか?

_ hhvm _ について素晴らしいことを聞いたことがあるので、Nginx(Pagespeedモジュール付き)とHHVMを使用して(別のドメインにある)WordPressブログのコピーを作成しました。現時点での利点は明らかです。同じ設定で、ロード時間は2倍から3倍速くなります。

私は物事を少しスピードアップしようとしています、そしてまた私は MemcachedとBatcache をインストールしました。 memcached パッケージをインストールし、object-cache.phpPastebin )をWordPressブログのルートフォルダにコピーした後、 Batcacheプラグインを使い、advanced-cache.phpPastebin )ファイルをwp-contentフォルダにコピーしました。また、私はラインを含めました

define('WP_CACHE', true);

wp-config.phpファイルにあります。それはうまくいかないようですが。 I ページをすばやく数回リロードすると Batcacheはキャッシュされたページを表示しますが、表示されません。ページを何度かリロード(OS XのChromeではCmd + R)してからページのコードを表示することで簡単に確認できます。 <head>セクションの下に私はいくつかのbatcache統計を見るべきですが、それらはそこにはありません。

誰かが私にこれについていくつかのヒントを与えることができるかどうかだろうか。

ちなみに、パフォーマンスをさらに向上させるために他のコンポーネントを追加できるかどうかはわかりません。私は Varnish について考えていますが、それが単に役に立たないのかどうかはわかりませんし、現在行っているのとは別の方法でもあります。他のコンポーネントはありますか? (私は CDNのテスト、jsの最小化など その他のトリックもテストしますが、私はサーバーの観点から話しています)。

5
javipas

その答えは、HHVMは典型的なオペコードキャッシングでは動作しないということです。コンパイラは「通常の」PHPと同じではありません。 HHVMには独自のオペコードキャッシングがあり、私の知る限りではAPCやZendのOPcacheと統合されていません。それは独自のものです。言い換えれば、それは冗長になります。

あなたはここでそれについて詳細に読むことができます: http://hhvm.com/blog/4061/go-faster (APCとの比較)。

HHVMのキャッシュをmemcachedと一緒に使用することはできます(少なくとも私はできると思います)。これについてはHHVMのgithubにいくつかの問題とパッチがあります。 https://github.com/facebook/hhvm

私はHHVMを使ったことは一度もありませんが、キャッシュをテストまたはデバッグする方法がなければなりません。つまり、batcacheのような "regular" PHPを利用するプラグインはおそらく表示されません。

それが機能しているかどうかをテストするには、HHVMキャッシングをオフにし(設定はランタイムオプションの下にあると思います)、それをオン/オフまたは別のキャッシュ設定でサイトをテストします。

もう一つのオプションは wp-config.php ファイルにdefine('WP_CACHE', true)を入れることで、これをoff/onにしてHHVMのベンチマークを行い、効果があるかどうかを確認することができます。

HHVMで動作するPHP拡張子の互換性のあるリストをここで見ることができます: https://github.com/facebook/hhvm/tree/master/hphp/runtime/ext

1
Wyck