2013-05-17 14 views
5

私たちは、フロントエンドコントローラでAppCacheを有効にすると、応答オブジェクト上の任意のキャッシュ・ディレクティブを呼び出さずにキャッシュに持ってどのような影響を与えるのかを把握しようとしています。Symfony2のAppCacheのパフォーマンス向上

私は単純に次の行を追加し、1にdefault_ttlを設定することを前提としていた:

$kernel = new AppCache($kernel); 

が応答のキャッシュディレクティブを呼び出すことなく、アプリケーションの動作を変更しません。しかし、すぐに私たちは、この行(およびキャッシュ:明確な)を追加として私たちのサーバーが起こっているいくつかのキャッシュがあることを示唆している、毎秒はるかに多くのリクエストを処理することができます。

これが起こって何のリバースプロキシキャッシングがないことを意味してい

X-Symfony-Cache: GET /: miss 

され、デバッグをオンにすると、すべての我々は、HTTPヘッダーに表示時間にdefault_ttlを設定しますか?もしそうなら、パフォーマンスがどのように向上するのでしょうか?

素晴らしいだろう。このような状況で何が起こるか上の任意の明確化。

答えて

3

このライン

$kernel = new AppCache($kernel); 

Symfony2のリバースプロキシを有効にします。さらに詳しい説明は、http://symfony.com/doc/current/book/http_cache.html#symfony2-reverse-proxyのリンクを参照してください。パフォーマンスの向上は今や明確になるはずです。

ヘッダは、「symfonyの-キャッシュ」は「GET」要求を持って、キャッシュされたデータ(「ミス」)を見つけていないことを意味します。同じページを複数回呼び出すと、ヘッダーは次のように変わります。

X-Symfony-Cache: GET /: HIT 42 
+0

ありがとう。リバースプロキシを有効にすることは理解していますが、レスポンスオブジェクトで使用することを指定せずにキャッシュを開始することはありません。私たちはミスを犯すだけですが、パフォーマンスは向上します – user1207727