ローカル マシンで ARR V2 を使用してキャッシュ ソリューションを試しています。oringal サーバーを指す単一ノード サーバー ファームがあります。また、ローカル マシンに着信するすべての要求は、インバウンド ルールによってフィルター処理され、そのサーバー ファームに送信されます。
ARR キャッシュ アクション パネルで、サーバー ファームに向けられたすべての要求に対してすべてのオブジェクトを常に 20 分間キャッシュするようにキャッシュ コントロール ルールを追加しました。ここで、サーバー ファームのキャッシュ アクション パネルでメモリ キャッシュ期間の設定を上書きしたとします。(間違っていたら訂正してください)
IIS のその他の設定には次のものが含まれます。
ユーザーモードとカーネルモードの両方で出力キャッシュが無効になっています(オブジェクトがまだカーネルキャッシュにキャッシュされていることに少し戸惑いました)
サーバー プロキシ設定は、ARR キャッシュ アクション パネルで無効になっています (サーバー ファームもプロキシであるため、これは影響しないと思います)。
すべての設定を完了した後、Web 要求をトリガーしたときに、すべてのオブジェクトがディスク キャッシュにキャッシュされていることがわかります。また、「netsh http show cache」を通じて、それらがすべてカーネル キャッシュ (ARR メモリ キャッシュ) にキャッシュされていることも確認できます。
ただし、Web 要求を再度トリガーすると、要求は元のサーバーには送信されませんが、html および画像への要求はメモリ キャッシュにヒットせず、「netsh http show cache」を介してヒット カウントが残っていることがわかります。 1' であり、それらの TTL は、対応するディスク キャッシュ オブジェクトと同期するように更新されます。対照的に、css と javascript は、有効期限が切れるまで常にメモリ キャッシュにヒットします。私の MIME リストでは、それらはすべて静的ファイルとして扱われるため、ここで異なる動作をする理由がわかりません。
次に、ディスクにキャッシュされたオブジェクト (プライマリとセカンダリの両方) をクリアし、Web 要求を再度トリガーします。現在 (すべてのオブジェクトは引き続きメモリ キャッシュにあることに注意してください)、html と画像のみがディスク キャッシュにキャッシュされますが、css と JavaScript への要求は引き続きメモリ キャッシュから提供されるため、ディスク キャッシュには表示されません。
ARR の実験を始めたばかりですが、概念を完全には理解していません。誰かが助けてくれることを願っています。
前もって感謝します。