4

私は、ESIでVarnishを使用して、トラフィックの多いフォーラムのようなWebサイトのページコンテンツをキャッシュすることを調査しています。

コンテキスト:訪問者のみのコンテンツをキャッシュしたい(接続されたユーザーは実際に異なる表示を持ち、絶対に新鮮なコンテンツが必要になります)。それでも、訪問者の場合、ページの一部は動的である必要があります:-たとえば、訪問者に依存するモジュールの場合、cachableではありません(表示されたページのリアルタイム分析が提供される「提案」ウィジェットを考えてみてください。ビーコン)-たとえば、「最新の投稿」ウィジェットや非常に変化する広告キャンペーンの場合、15mnの小さなTTLでキャッシュ可能。

現在、Apache / PHP / symfony / memcacheを使用してページをキャッシュし、社内でESIのようなメカニズムを使用しています。キャッシュからのページが解析され、特定のタグが解釈されます(Webサービスやデータベースへの呼び出しを含む)。サーバー時間は約700ミリ秒であるため、これは十分なパフォーマンスではありません。

このソリューションの代わりに、Varnish+ESIを使用できます。ページに含まれるESIの総数は15に達する可能性があります。フェッチするESIの実際の数はそれより少なくなりますが、ESIのTTLを考えるとそれほど多くはありません。重要な問題は、VarnishがESIを並列ではなく順次フェッチすることであり、これは受け入れられません。この機能は、Varnishのロードマップのどこか遅いところにあります。

それで、

  • ワニスとESIの使用経験は何ですか?ESIの数、応答時間の増加はありますか?

  • 並列ESIフェッチを使用した回避策またはその他の深刻で構成可能な(VCLが良かった)リバースプロキシを知っていますか?

  • そうでない場合、同等のユースケースにどのような優れたキャッシュ戦略を使用しますか?

ありがとう、P。

4

1 に答える 1