ADC

統合キャッシング

コンテンツグループ

  • DEFAULT コンテンツグループは他のコンテンツグループとどう違うのですか?

    DEFAULT コンテンツグループの動作は、他のグループと同じです。DEFAULT コンテンツグループを特別なものにしている唯一の属性は、オブジェクトがキャッシュされていてコンテンツグループが作成されていない場合です。オブジェクトは DEFAULT グループにキャッシュされます。

  • コンテンツグループレベルの「キャッシュコントロール」オプションとは何ですか?

    任意のキャッシュ制御ヘッダーをブラウザに送信できます。コンテンツグループレベルのオプション-CacheControl を使用すると、ブラウザへの応答に挿入するキャッシュコントロールヘッダーを指定できます。

  • コンテンツグループレベルの「Minhit」オプションとは何ですか?

    Minhitは、オブジェクトがキャッシュされる前のキャッシュポリシーの選択の最小数を指定する整数値です。この値は、コンテンツグループレベルで設定できます。CLI からこの値を設定する構文は次のとおりです。

    add/set cache contentGroup \<Content_Group_Name> [-minHits \<Integer>]

  • ExpireAtLastByte オプションにはどのような用途がありますか?

    expireAtLastByte オプションを使用すると、統合キャッシュはダウンロード時にオブジェクトを期限切れにすることができます。その場合、未処理のリクエストのみがキャッシュから処理されます。新しいリクエストはすべてサーバーに送信されます。この設定は、株価情報の場合のようにオブジェクトが頻繁に変更される場合に便利です。この有効期限メカニズムは、フラッシュキャッシュ機能と連動します。ExpireAtLastByte オプションを設定するには、CLI から次のコマンドを実行します。

    add cache contentGroup \<Group_Name> –expireAtLastByte YES

キャッシュポリシー

  • キャッシュポリシーとは

    ポリシーにより、キャッシュ可能なトランザクションとキャッシュできないトランザクションが決まります。また、ポリシーによって標準の HTTP キャッシュ動作が追加またはオーバーライドされます。ポリシーは、リクエストやレスポンスの特定の特性に応じて、CACHE や NOCACHE などのアクションを決定します。レスポンスがポリシールールと一致する場合、レスポンス内のオブジェクトは、ポリシーで設定されたコンテンツグループに追加されます。コンテンツグループを設定していない場合、オブジェクトは DEFAULT コンテンツグループに追加されます。

  • ポリシーヒットとは

    選択は、リクエストまたはレスポンスがキャッシュポリシーと一致する場合に行われます。

  • ミスとは?

    ミスは、リクエストまたはレスポンスがどのキャッシュポリシーとも一致しない場合に発生します。リクエストやレスポンスがキャッシュポリシーと一致していても、RFC の動作がオーバーライドされてオブジェクトがキャッシュに保存されない場合も、ミスが起こる可能性があります。

  • NetScalerアプライアンスの統合キャッシュ機能を構成しました。次のポリシーを追加すると、エラーメッセージが表示されます。コマンドにエラーはありますか?

    add cache policy image_caching -rule exp1 | ns_ext_not_jpeg –action cache

    \> ERROR: No such command

    前述のコマンドでは、式は引用符で囲む必要があります。引用符がない場合、オペレータはパイプオペレータと見なされます。

メモリ要件

  • NetScalerアプライアンスで実行してキャッシュに割り当てられているメモリを確認できるコマンドにはどのようなものがありますか?

    NetScalerアプライアンスのキャッシュに割り当てられたメモリを表示するには、CLIから次のコマンドのいずれかを実行します。

    • show cache parameter

      出力で、メモリ使用量制限パラメータの値を確認します。これはキャッシュに割り当てられる最大メモリです。

    • show cache \<Content_Group_Name>

      出力で、個々のコンテンツグループに使用および割り当てられているメモリを示す [メモリ使用量] パラメータと [メモリ使用量制限] パラメータの値を確認します。

  • 私のNetScalerアプライアンスには2 GBのメモリが搭載されています。キャッシュの推奨メモリ制限はありますか?

    NetScalerアプライアンスのどのモデルでも、メモリの半分をキャッシュに割り当てることができます。ただし、Citrixでは、内部メモリに依存するため、割り当てるメモリの半分弱を推奨しています。次のコマンドを実行すると、1 GB のメモリをキャッシュに割り当てることができます。

    set cache parameter -memLimit 1024

  • 個々のコンテンツグループにメモリを割り当てることはできますか?

    はい。<Content_Group_Name><Integer>set cache パラメータ —memlimit を実行して統合キャッシュにメモリをグローバルに割り当てる場合でも<Integer>、set cache —memLimit コマンドを実行することで個々のコンテンツグループにメモリを割り当てることができます。コンテンツグループ(合計)に割り当てることができる最大メモリは、統合キャッシュに割り当てたメモリを超えることはできません。

  • 統合キャッシュとTCPバッファのメモリの依存性について教えてください。

    NetScalerアプライアンスに2 GBのメモリが搭載されている場合、アプライアンスは約800 MBから900 MBのメモリを予約し、残りはFreeBSDオペレーティングシステムに割り当てられます。そのため、統合キャッシュには最大 512 MB のメモリを割り当てることができ、残りは TCP バッファに割り当てられます。

  • 統合キャッシュにグローバルメモリを割り当てないと、キャッシュプロセスに影響しますか?

    統合キャッシュにメモリを割り当てない場合、すべての要求がサーバーに送信されます。統合キャッシュにメモリが割り当てられていることを確認するには、show cache parameter コマンドを実行します。実際には、グローバルメモリが 0 の場合、オブジェクトはキャッシュされないので、最初に設定する必要があります。

検証コマンド

  • キャッシュ統計を表示するにはどのようなオプションがありますか?

    次のいずれかのオプションを使用して、キャッシュの統計情報を表示できます。

    • stat cache

      キャッシュ統計の概要を表示します。

    • stat cache –detail

      キャッシュ統計の詳細をすべて表示します。

  • キャッシュされたコンテンツを表示するにはどのようなオプションがありますか?

    キャッシュされたコンテンツを表示するには、 show cache object コマンドを実行します。

  • キャッシュに保存されているオブジェクトの特性を表示するために実行できるコマンドは何ですか?

    キャッシュに保存されているオブジェクトが、たとえば GET //10.102.12.16:80/index.html の場合、アプライアンスの CLI から次のコマンドを実行すると、オブジェクトの詳細を表示できます。

    show cache object -url '/index.html' -host 10.102.3.96 -port 80

  • パラメータ化されたオブジェクトをキャッシュに表示するパラメータとしてグループ名を指定することは必須ですか?

    はい。パラメータ化されたオブジェクトをキャッシュに表示するには、パラメータとしてグループ名を指定する必要があります。たとえば、同じルールで次のポリシーを追加したとします。

     add cache policy p2 -rule ns_url_path_cgibin -action CACHE –storeInGroup g1
     add cache policy p1 -rule ns_url_path_cgibin -action CACHE -storeInGroup g2
     <!--NeedCopy-->
    

    この場合、複数のリクエストについて、ポリシー p1 が評価されると、選択カウンタが増え、ポリシーは select パラメータを持つ g1 グループにオブジェクトを格納します。そのため、キャッシュのオブジェクトを表示するには、次のコマンドを実行する必要があります。

    show cache object -url "/cgi-bin/setCookie.pl" -host 10.102.18.152 groupName g1

    同様に、複数のリクエストが混在する別のセットでは、ポリシー p2 が評価されると、選択カウンタが増え、ポリシーは select パラメータのない g2 グループにオブジェクトを格納します。そのため、キャッシュのオブジェクトを表示するには、次のコマンドを実行する必要があります。

    show cache object -url "/cgi-bin/setCookie2.pl" -host 10.102.18.152

  • nscachemgrコマンドの出力に空白のエントリがいくつかあることに気付きました。これらのエントリは何ですか?

    nscachemgrコマンドの次のサンプル出力について考えてみましょう。この出力の空白のエントリは、参考のために太字で強調表示されます。

     root@ns# /netscaler/nscachemgr -a
     //10.102.3.89:80/image8.gif
     //10.102.3.97:80/staticdynamic.html
     //10.102.3.97:80/
     //10.102.3.89:80/image1.gif
     //10.102.3.89:80/file5.html
     //10.102.3.96:80/
     //10.102.3.97:80/bg_logo_segue.gif
     //10.102.3.89:80/file500.html
     //10.102.3.92:80/
     //10.102.3.96:80/cgi-bin/rfc/ccProxyReval.pl
     Total URLs in IC = 10
     <!--NeedCopy-->
    

    出力の空白のエントリは、GET /HTTP/1.1 のデフォルトのキャッシュプロパティによるものです。

オブジェクトをフラッシングする

  • 選択したオブジェクトをキャッシュからフラッシュするにはどうしたらいいですか?

    オブジェクトは完全な URL で一意に識別できます。このようなオブジェクトをフラッシュするには、次のいずれかのタスクを実行できます。

    • フラッシュキャッシュ
    • フラッシュコンテンツグループ
    • 特定のオブジェクトをフラッシュします

    特定のオブジェクトをフラッシュするには、クエリパラメータを指定する必要があります。InvalParam パラメータを指定してオブジェクトをフラッシュします。このパラメータはクエリにのみ適用されます。

  • キャッシュ構成の変更によってキャッシュがフラッシュされることはありますか?

    はい。キャッシュ構成に変更すると、すべての SET cache コマンドは本質的に適切なコンテンツグループをフラッシュします。

  • サーバー上のオブジェクトを更新しました。キャッシュされたオブジェクトをフラッシュする必要がありますか?

    はい。サーバー上のオブジェクトを更新するときは、キャッシュされたオブジェクト、または少なくとも関連するオブジェクトとコンテンツグループをフラッシュする必要があります。統合キャッシュは、サーバーの更新による影響を受けません。キャッシュされたオブジェクトは、有効期限が切れるまで提供され続けます。

フラッシュキャッシュ

  • NetScalerアプライアンスのフラッシュキャッシュ機能とは何ですか?

    フラッシュクラウドという現象は、多数のクライアントが同じコンテンツにアクセスしたときに発生します。その結果、サーバーへのトラフィックが突然急増します。フラッシュキャッシュ機能により、NetScalerアプライアンスはこのような状況でサーバーにリクエストを1つだけ送信することでパフォーマンスを向上させることができます。他のすべての要求はアプライアンスのキューに入れられ、要求に対して単一の応答が処理されます。次のいずれかのコマンドを使用して Fast Cache 機能を有効にできます。

    • add cache contentGroup \<Group_Name> -flashCache YES
    • set cache contentGroup \<Group_Name> -flashCache YES
  • Flash Cache クライアントの制限はどれくらいですか?

    Flash Cacheクライアントの数は、NetScalerアプライアンス上のリソースの可用性によって異なります。

デフォルト動作

  • NetScalerアプライアンスは有効期限が切れるとオブジェクトをプロアクティブに受信しますか?

    NetScalerアプライアンスは、有効期限が切れたオブジェクトをプロアクティブに受け取ることはありません。これはネガティブオブジェクトにも当てはまります。有効期限が切れた後の最初のアクセスは、サーバーへのリクエストをトリガーします。

  • 統合キャッシュは、応答の受信を開始する前であっても、クライアントをキューに追加してサービスを提供しますか?

    はい。統合キャッシュは、応答の受信を開始する前であっても、クライアントをキューに追加して処理します。

  • キャッシュ設定の Verify cache object using パラメーターのデフォルト値は何ですか?

    ホスト名とIPがデフォルト値です。

  • NetScalerアプライアンスはログファイルにログエントリを作成しますか?

    はい。NetScalerアプライアンスはログファイルにログエントリを作成します。

  • 圧縮されたオブジェクトはキャッシュに保存されていますか?

    はい。圧縮されたオブジェクトはキャッシュに保存されます。

他の機能との相互運用性

  • 現在キャッシュに保存されており、SSL VPN経由でアクセスされているオブジェクトはどうなりますか?

    キャッシュに格納され、定期的にアクセスされるオブジェクトは、キャッシュとして提供されます。SSL VPN 経由でアクセスしたときに選択します。

  • SSL VPN を介してアクセスし、後で通常の接続を介してアクセスすると、キャッシュに格納されたオブジェクトはどうなりますか?

    SSL VPN アクセスを介して格納されたオブジェクトは、通常の接続を介してアクセスされるときに SELECT として提供されます。

  • Webロギングを使用する場合、キャッシュから提供される応答を示すエントリとサーバーによって提供されるエントリをどのように区別しますか?

    統合キャッシュから返される応答の場合、サーバーログフィールドには値 IC が含まれます。サーバーから返された応答の場合、サーバーログフィールドにはサーバーから送信された値が含まれます。以下は、統合キャッシュトランザクションのログエントリのサンプルです。

    "10.102.1.52 - "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0; .NET CLR 1.0.3705)" "GET /" 200 0 "IC" 10.102.1.45"

    クライアントの要求とともに、ログに記録される応答はクライアントに送信されたものであり、必ずしもサーバーから送信されたものではありません。

Web ロギングを使用する場合、統合キャッシュからの応答には、サーバーログフィールドに値ICが含まれます。NSWL クライアントには、「%o1」形式指定子が付いたサーバログフィールドがあります。

その他

  • 再失効と失効を設定するとどういう意味ですか?

    relexpiryabsexpiryを設定すると、ヘッダーに表示される内容に関係なく、ヘッダーがオーバーライドされます。別の有効期限設定とコンテンツグループレベルを構成できます。relexpiryでは、ヘッダーの有効期限は、Citrix ADCがオブジェクトを受信した時刻に基づきます。absexpiryでは、有効期限はCitrix ADCで構成された時間に基づいています。 Relexpiryは秒単位で設定されます。Absexpiry は時刻です。

  • weakposとヒューリスティックを設定するとどういう意味ですか?

    weakposとヒューリスティックはフォールバック値のようなものです。有効期限ヘッダーがある場合、最後に変更されたヘッダーが存在する場合にのみ考慮されます。NetScalerアプライアンスは、最後に変更されたヘッダーとヒューリスティックパラメーターに基づいて有効期限を設定します。ヒューリスティックな有効期限計算では、最後に変更されたヘッダーをチェックして有効期限までの時間を決定します。オブジェクトが最後に変更されてからの期間の一部が、有効期限までの時間として使用されます。長期間変更されず、有効期限が長くなる可能性が高いオブジェクトのヒューリスティック。–heurExpiryParamは、この計算で使用するパーセンテージ値を指定します。それ以外の場合、アプライアンスはweakpos値を使用します。

  • 動的キャッシュを設定する前に考慮すべきことは何ですか?

    名前と値の形式で完全な URL クエリを含まないパラメータがある場合、またはアプライアンスがパラメータを Cookie ヘッダーまたは POST 本文で受信する場合は、動的キャッシュの設定を検討してください。動的キャッシュを設定するには、HitParams パラメーターを設定する必要があります。

  • パラメータ名の 16 進エンコーディングはどのようにサポートされていますか?

    NetScalerアプライアンスでは、パラメーター名で%HEXHEXエンコーディングがサポートされています。HitParams または InvalParams に指定する名前には、名前に %HEXHEX エンコーディングを含む名前を指定できます。たとえば、名前、名前%65、および n %61m%65 は同等です。

  • HitParamパラメータを選択するプロセスはどのようなものですか?

    POST リクエストの HTTP ヘッダーの次の抜粋を考えてみましょう。

     POST /data2html.asp?param1=value1&param2=&param3&param4=value4
     HTTP/1.1
     Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
     application/vnd.ms-powerpoint, application/vnd.ms-excel,
     application/msword, application/x-shockwave-flash, \*/\*
     Referer: http://10.102.3.97/forms.html
     Accept-Language: en-us
     Content-Type: application/x-www-form-urlencoded
     Accept-Encoding: gzip, deflate
     User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
     Host: 10.102.3.97
     Content-Length: 153
     Connection: Keep-Alive
     Cache-Control: no-cache
     Cookie: ASPSESSIONIDQGQGGRNY=NNLLKDADEENOAFLCCDGFGDMO
     S1=This+text+is+only+text%2C+not+more+and+not+less%2C+%0D%0Ajust+text+to+be+itself%2C+namely+%22Text%22+to+be+posted+as+text+%28what+else...%29&B1=Submit
     <!--NeedCopy-->
    

    前述のリクエストでは、参照用に太字で強調表示されているS1とB1を、要件に応じてHitParamsとして使用できます。また、ASPSESSIONIDQGQGGRNY コンテンツグループで-MatchCookies YES を使用している場合は、これらのパラメーターを HitParams として使用することもできます。

  • 応答をキャッシュできない場合、キューに入っているクライアントはどうなりますか?

    レスポンスがキャッシュできない場合、キュー内のすべてのクライアントは、最初のクライアントが受け取ったのと同じレスポンスを受け取ります。

  • 同じコンテンツグループで毎回ポーリング(PET)機能と Flash Cache 機能を有効にすることはできますか?

    いいえ。同じコンテンツグループで PET と Flash Cache を有効にすることはできません。統合キャッシュは、Flash Cache コンテンツグループに対して AutoPET 機能を実行しません。PET 機能により、統合キャッシュはサーバに問い合わせることなく格納されたオブジェクトを処理することがなくなります。コンテンツグループに PET を明示的に設定できます。

  • キューに入っているクライアントのログエントリはいつ作成されますか?

    アプライアンスが応答ヘッダーを受信した直後に、キューに入っているクライアントのログエントリが作成されます。ログエントリは、応答ヘッダーによってオブジェクトがキャッシュ不可にならない場合にのみ作成されます。

  • キャッシュ構成の Verify Cache オブジェクトパラメータの DNS、HOSTNAME、HOSTNAME_AND_IP の値はどういう意味ですか?

    意味は次のとおりです。

    • set cache parameter -verifyUsing HOSTNAME

      このコマンドは宛先 IP アドレスを無視します。

    • set cache parameter -verifyUsing HOSTNAME_AND_IP

      コマンドは宛先 IP アドレスと照合します。

    • set cache parameter -verifyUsing DNS

      コマンドは DNS サーバーを使用します。

  • weakNegRelExpiry を600、つまり10分に設定しました。404レスポンスがキャッシュされていないことに気付きました。その理由は何ですか?

    これは設定に完全に依存します。デフォルトでは、404 件の応答が 10 分間キャッシュされます。404 件のレスポンスをすべてサーバーから取得したい場合は、—WeaknegreExpiry 0 と指定します。—WeakNegRelExpiry を高くしたり低くしたりするなど、希望する値に微調整して 404 個の応答が適切にキャッシュされるようにすることができます。—ABSExpiry を肯定応答に設定した場合、期待した結果が得られない可能性があります。

  • ユーザーが Mozilla Firefox ブラウザを使用してサイトにアクセスすると、更新されたコンテンツが提供されます。ただし、ユーザーが Microsoft Internet Explorer ブラウザーを使用してサイトにアクセスすると、古いコンテンツが表示されます。その理由は何でしょうか?

    Microsoft Internet Explorerブラウザーは、NetScaler統合キャッシュではなくローカルキャッシュからコンテンツを取得している可能性があります。その理由は、Microsoft Internet Explorer ブラウザーが応答の有効期限に関連するヘッダーを尊重していないことが原因である可能性があります。

    この問題を解決するには、Internet Explorer のローカルキャッシュを無効にして、オフラインコンテンツをクリアします。オフラインコンテンツをクリアした後、ブラウザは更新されたコンテンツを表示する必要があります。

  • ヒット数がゼロの場合はどうなりますか?

    サーバー時刻と NS 時刻が同期しているかどうかを確認してください。また、WeakPosLexpiry 制限セットには、以下のように NS とサーバーの時間差が反映されている必要があります。

     root@ns180# date
     Tue May 15 18:53:52 IST 2012
     <!--NeedCopy-->
    
  • ポリシーがヒットしたのに何もキャッシュされないのはなぜですか?

    メモリが統合キャッシュに割り当てられていること、および割り当てがゼロより大きいことを確認します。

  • キャッシュカウンタをゼロにすることは可能ですか?

    キャッシュカウンタをゼロに設定するコマンドラインや GUI オプションはありません。また、キャッシュをフラッシュしても設定は行われません。ボックスを再起動すると、これらのカウンタは自動的にゼロに設定されます。

統合キャッシング