Citrix ADC

統合キャッシュ

統合キャッシュは、Citrix ADCアプライアンスのメモリ内ストレージを提供し、オリジンサーバーへの往復を必要とせずにユーザーにWebコンテンツを提供します。静的コンテンツの場合、統合キャッシュの初期設定はほとんど必要ありません。統合キャッシュ機能を有効にして、基本的な設定(キャッシュの使用を許可するCitrix ADCアプライアンスのメモリ容量の決定など)を実行すると、統合キャッシュは組み込みポリシーを使用して、単純なWebページや画像ファイルなど、特定の種類の静的コンテンツを格納および配信します。また、Webサーバーやアプリケーション・サーバーによってキャッシュ不可能とマークされた動的コンテンツ(データベース・レコードや株価など)を保存して提供するように統合キャッシュを構成することもできます。

統合キャッシュという用語は、AppCache と相互に使用することができます。機能の観点から、両方の用語は同じ意味であることに注意してください。

ユーザーがこのバグレポートに対して新しい要求を発行すると、Citrix ADCアプライアンスはレポートインスタンスに関連付けられているすべての応答の更新されたコピーをオリジンサーバーに送ります。応答をコンテンツグループに保存し、ユーザーのブラウザに配信します。ブラウザはレポートを再構成して表示します。

アプライアンスがコンテンツグループ内のキャッシュされたオブジェクトを検出できるようにするには、セレクターを設定します。セレクターは、キャッシュされたオブジェクトを式と照合します。また、コンテンツグループ内のオブジェクトを検索するためのパラメーターを指定することもできます。Citrixの推奨に従ってセレクタを使用する場合は、コンテンツグループを構成するときにセレクタを指定できるように、まずセレクタを構成します。次に、追加するコンテンツグループを設定し、ポリシーを構成するときにそれらを使用できるようにします。初期設定を完了するには、各ポリシーをグローバルバインドポイントまたは仮想サーバーにバインドして、ポリシーバンクを作成します。または、他のポリシーバンクから呼び出すことができるラベルをバインドすることもできます。

統合キャッシュは、それらが期限切れにスケジュールされる前にキャッシュされたオブジェクトのメソッドをプリロードを使用して改善することができます。キャッシュされたデータの処理を管理するために、応答に挿入されるキャッシュ関連のヘッダーを設定できます。統合キャッシュは、他のキャッシュサーバーのフォワードプロキシとしても機能します。

注:

統合キャッシュには、HTTP 要求と応答に関する知識が必要です。 HTTP データの構造の詳細については、 "<http://livehttpheaders.mozdev.org/>."Live HTTP Headersを参照してください。

統合キャッシュの仕組み

統合キャッシュは、Citrix ADCアプライアンスを通過するHTTPおよびSQL要求を監視し、その要求を保存されたポリシーと比較します。結果に応じて、統合キャッシュ機能はキャッシュで応答を検索するか、要求をオリジンサーバーに転送します。HTTP 要求の場合、統合キャッシュは、単一のバイト範囲要求およびマルチパートバイト範囲要求に応答して、キャッシュからの部分的なコンテンツとして機能します。

クライアントが圧縮されたコンテンツを受け入れると、キャッシュされたデータが圧縮されます。コンテンツグループの有効期限を設定したり、コンテンツグループのエントリを選択して期限切れにすることができます。

次の表に示すように、統合キャッシュから提供されるデータはhitであり、オリジンから提供されるデータはキャッシュミスです。

トランザクション・タイプ 仕様
キャッシュヒット Citrix ADCアプライアンスがキャッシュから処理するレスポンス:静的オブジェクト(画像ファイルや静的Webページなど)、200のOKページ、203の権限のない応答ページ、300の複数選択ページ、301永続的に移動したページ、302見つかったページ、304変更されていないページ、これらのレスポンスは肯定的な応答。Citrix ADCアプライアンスでは、307の一時リダイレクトページ、403禁止ページ、404ページが見つかりませんページ、410ページという否定的な応答もキャッシュします。パフォーマンスをさらに向上させるために、より多くの種類のコンテンツをキャッシュするようにCitrix ADCアプライアンスを構成できます。
ストレージ可能キャッシュミス 保存可能なキャッシュミスの場合、Citrix ADCアプライアンスはオリジンサーバーからレスポンスをフェッチし、クライアントに送信する前にレスポンスをキャッシュに保存します。
保存不可能なキャッシュミス 保存不可能なキャッシュミスは、キャッシュには不適切です。既定では、次のステータスコードを含む応答は、格納不可能なキャッシュミスです。201、202、204、205、206 ステータスコード、403、404 および 410 を除くすべての 4xx コード、5xx ステータスコード

注: 動的キャッシュをアプリケーションインフラストラクチャと統合するには、NITRO APIを使用してリモートでキャッシュコマンドを発行します。たとえば、データベーステーブルが更新されたときにキャッシュされた応答を期限切れにするトリガーを設定できます。

キャッシュされたレスポンスをオリジンサーバー上のデータと確実に同期させるには、有効期限方法を設定します。Citrix ADCアプライアンスは、期限切れの応答と一致する要求を受信すると、オリジナル・サーバーからの応答を更新します。

注: Citrix ADC アプライアンスと1つ以上のバックエンドサーバーの時刻を同期することをお勧めします。

動的キャッシュの仕組み

動的キャッシュは、パラメータ値ペア、文字列、文字列パターン、またはその他のデータに基づいて HTTP 要求と応答を評価します。たとえば、ユーザーがバグ報告アプリケーションで Bug 31231 を検索するとします。ブラウザは、ユーザーに代わって次の要求を送信します。

/mybugreportingsystem/mybugreport.dll を取得しますか?Issuepage&recordid=31231&template=View&tableID=1000

ホスト:mycompany.net

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.9) Gecko/2008052906 Firefox/3.0

受け入れる:text/html、application/xhtml+xml、application/xml; q=0.9、*/*; q=0.8

受け入れ言語:en-us, en; q=0.5

. . .

この例では、このバグ報告アプリケーションの GET リクエストには、常に次のパラメータが含まれます。

  • IssuePage
  • RecordID
  • Template
  • TableId

GET リクエストはデータを更新または変更しないため、次のように、キャッシュポリシーおよびセレクタでこれらのパラメータを設定できます。

  • 文字列 mybugreportingsystem および HTTP 要求の GET メソッドを検索するキャッシュポリシーを構成します。このポリシーは、バグのコンテンツグループに一致するリクエストを転送します。
  • バグのコンテンツグループでは、IssuePage、recordID など、さまざまなパラメータと値のペアに一致するhit セレクタを構成します。

ブラウザは、1つのユーザーアクションに基づいて複数のGETリクエストを送信できます。以下は、ユーザーがバグ ID に基づいてバグを検索したときにブラウザが発行する 3 つの個別の GET リクエストのシリーズです。

/mybugreportingsystem/mybugreport.dll を取得しますか?Issuepage&recordid=31231&template=View&tableID=1000

/mybugreportingsystem/mybugreport.dll を取得しますか?issuePage&template=ViewBtns&recordid=31231&tableID=1000

/mybugreportingsystem/mybugreport.dll を取得しますか?Issuepage&template=ViewBody&recordid=31231&tableID=1000

これらの要求を満たすために、複数の応答がユーザーのブラウザに送信され、ユーザーに表示されるWebページは応答のアセンブリです。

ユーザーがバグレポートを更新する場合、キャッシュ内の対応する応答をオリジンサーバーからのデータで更新する必要があります。バグ報告アプリケーションは、ユーザーがバグ報告を更新したときに HTTP POST リクエストを発行します。この例では、POST 要求がキャッシュ内の無効化をトリガーするように、以下を設定します。

  • 文字列 mybugreportingsystem および POST HTTP リクエストメソッドを検索し、一致するリクエストをバグレポート用にコンテンツグループに誘導する、リクエスト時の無効化ポリシー。
  • RecordID パラメータに基づいてキャッシュされたコンテンツを期限切れにするバグレポートのコンテンツグループの無効化セレクタ。このパラメータはすべての応答に表示されるため、無効化セレクタはキャッシュ内の関連するすべての項目を期限切れにすることができます。

次の抜粋は、バグレポートのサンプルを更新する POST リクエストを示しています。

/mybugreportingsystem/mybugreport.dll をPOST?トランジションフォーム HTTP/1.1\ r\ n

ユーザーエージェント:Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.0) Opera 7.23 [ja]\ r\ n

Host: mybugreportingsystem\r\n

Cookie:ttSearch.134=%23options%3Afalse%23active%23owner%3Afalse%23unowned%3Afalse%23submitter%3Afalse%23incsub%3Atrue;

Cookie2: $Version=1\r\n

. . .

\ r\ n

28371ProjectId=2&RecordId=31231&TableId=1000&TransitionId=1&Action=Update&CopyProjectId=0&ReloadForm=0&State=&RecordLockId=49873+issues+in+HTTP&F43. . .

Citrix ADCアプライアンスは、この要求を受信すると、次の処理を行います。

  • リクエストを無効化ポリシーと照合します。
  • ポリシーで指定されているコンテンツグループを検索します。
  • このコンテンツグループの無効化セレクタを適用し、RecordID=31231 に一致するすべての応答を期限切れにします。

ユーザーがこのバグレポートに対して新しい要求を発行すると、Citrix ADCアプライアンスはレポートインスタンスに関連付けられているすべての応答の更新されたコピーをオリジンサーバーに送ります。応答をコンテンツグループに保存し、ユーザーのブラウザに配信します。ブラウザはレポートを再構成して表示します。

統合キャッシュの構成

統合キャッシュを使用するには、ライセンスをインストールし、機能を有効にする必要があります。統合キャッシュを有効にすると、Citrix ADC® アプライアンスは組み込みポリシーで指定された静的オブジェクトを自動的にキャッシュし、キャッシュ動作に関する統計情報を生成します。(組み込みのポリシーには、ポリシー名の初期位置にアンダースコアがあります)。

組み込みポリシーが自分の状況に適している場合でも、グローバル属性を変更することもできます。たとえば、統合キャッシュに割り当てられるCitrix ADCアプライアンスのメモリ容量を変更できます。

設定を変更する前にキャッシュ動作を確認する場合は、「キャッシュされたオブジェクトとキャッシュ統計の表示」を参照してください。

注: Citrix ADCキャッシュは、アプライアンスの再起動時に消去されるメモリ内ストアです。

統合キャッシュライセンスをインストールするには

  • 統合キャッシュライセンスが必要です。ライセンスの詳細については、ライセンスの取得のトピックを参照してください。

  • Citrix からライセンスコードを取得し、コマンドラインインターフェイスにアクセスしてログインします。

コマンドラインインターフェイスで、ライセンスファイルを/nsconfig/license フォルダにコピーします。

  • 次のコマンドを使用して、Citrix ADCアプライアンスを再起動します。

reboot

統合キャッシュを有効にするには: 統合キャッシュを有効にすると、Citrix ADCアプライアンスはサーバー応答のキャッシュを開始します。ポリシーまたはコンテンツグループを構成していない場合は、組み込みのポリシーによって、既定のコンテンツグループにキャッシュされたオブジェクトが格納されます。

コマンドプロンプトで、次のいずれかのコマンドを入力して、統合キャッシュを有効または無効にします。

enable ns feature IC

キャッシュ用のグローバル属性を構成するには

グローバル属性は、すべてのキャッシュされたデータに適用されます。あなたは、統合キャッシュに割り当てられるCitrix ADCメモリの量を指定することができます, 経由ヘッダー挿入. キャッシュされたオブジェクトが提供される必要があることを検証するための基準。キャッシュで許可される POST 本体の最大長、HTTP GET 要求のポリシー評価をバイパスするかどうか、およびポリシーを評価できない場合に実行するアクション。

キャッシュメモリの容量は、ハードウェアアプライアンスのメモリによってのみ制限されます。また、nCore Citrix ADCアプライアンスのパケットエンジン(すべての着信TCP要求の中央配布ハブ)は、nCore Citrix ADCアプライアンスの他のパケットエンジンによってキャッシュされたオブジェクトを認識します。

注: デフォルトのグローバル・メモリ制限が0に設定され、統合キャッシュ(IC)機能が有効になっている場合、アプライアンスはオブジェクトをキャッシュしません。キャッシュの場合は、グローバルメモリ制限を明示的に設定する必要があります。ただし、「認証、承認、監査パラメータの設定 EnableStaticPageCaching」オプションを有効にすると、アプライアンスにデフォルトのメモリが構成されます。このメモリは大きなオブジェクトのキャッシュには不十分なため、ICには高いメモリ制限を割り当てる必要があります。これを実行するには、「set cache パラメータ —memLimit」コマンドを設定します。新しい設定は、設定を保存してアプライアンスを再起動した後にのみ適用されます。

オブジェクトのキャッシュ用に設定されたグローバルメモリ制限を変更できます。ただし、グローバルメモリ制限を既存の値よりも低い値(たとえば、10 GB から 4 GB)に更新すると、アプライアンスは引き続きメモリ制限を使用します。

これは、統合キャッシュの制限が何らかの値に設定されていても、実際に使用される制限が高くなる可能性があることを意味します。ただし、この過剰なメモリは、オブジェクトがキャッシュから削除されると解放されます。

show cache parameter コマンドの出力は、設定された値(メモリ使用量の制限)と実際に使用されている値(メモリ使用量の制限(アクティブな値))を示します。

コマンドプロンプトで、次のように入力します。

set cache parameter [-memLimit <MBytes>] [-via <string>] [-verifyUsing <criterion>] [-maxPostLen <positiveInteger>] [-prefetchMaxPending <positiveInteger>] [-enableBypass(YES|NO)] [-undefAction (NOCACHE|RESET)]

GUI を使用して統合キャッシュを有効にするには、次の手順を実行します。

[システム] > [設定] に移動し、[基本機能の設定] をクリックし、[統合キャッシュ] を選択します。

GUI を使用してキャッシュのグローバル設定を構成するには、次の手順を実行します。

[最適化] > [統合キャッシュ] に移動し、[キャッシュ設定の変更] をクリックして、キャッシュのグローバル設定を構成します。

統合キャッシュの組み込みコンテンツグループ、パターンセット、およびポリシーを設定するには、次の手順に従います。

Citrix ADCアプライアンスには、コンテンツのキャッシュに使用できる統合キャッシュ構成が組み込まれています。構成は、ctx_cg_poc というコンテンツグループ、ctx_file_extensions というパターンセット、および統合キャッシュポリシーのセットで構成されます。コンテンツグループ ctx_cg_poc では、500 KB 以下のオブジェクトのみがキャッシュされます。コンテンツは 86000 秒間キャッシュされ、コンテンツグループのメモリ制限は 512 MB です。パターンセットは、ファイルタイプマッチングのための共通拡張子のインデックス付き配列です。

次の表に、組み込みの統合キャッシュポリシーを示します。デフォルトでは、ポリシーはバインドポイントにバインドされません。Citrix ADCアプライアンスでポリシーに対するトラフィックを評価する場合は、ポリシーをバインドポイントにバインドする必要があります。ポリシーは、ctx_cg_poc コンテンツグループのオブジェクトをキャッシュします。

統合キャッシュポリシー名 ポリシールール
_cacheVPNStaticObjects HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).CONTAINS_INDEX(“ctx_file_extensions”).BETWEEN(101,150)
_cacheTCPVPNStaticObjects HTTP.REQ.URL.ENDSWITH(“.css”)
_cacheOCVPNStaticObjects HTTP.REQ.URL.ENDSWITH(“.pdf”)
_cacheWFStaticObjects HTTP.REQ.URL.ENDSWITH(“.js”)
mayNoCacheReq HTTP.RES.HEADER(“Content-Type”).CONTAINS(“application/x-javascript”)
noCacheRest TRUE

フラッシュ・キャッシュ構成

キャッシュグループ、キャッシュグループ、またはキャッシュオブジェクトロケータをフラッシュできます。キャッシュオブジェクトをフラッシュするコマンドは、次のとおりです。

コマンドプロンプトで、次のように入力します。

flush cache contentgroup all

0x00000089bae000000004 DEFAULT GET  //1.1.1.1:80/html/index.html?name=hello
0x00000089bae000000005 DEFAULT GET  //1.1.1.1:80/html/index.html?name=hi

Flush cache contentGroup all
done

flush cache contentgroup <content group name>

0x00000089bae000000004 DEFAULT GET  //1.1.1.1:80/html/index.html?name=hello
0x00000089bae000000005 DEFAULT GET  //1.1.1.1:80/html/index.html?name=hi

Flush cache ob -| 0x00000089bae000000004
done

flush cache object (-locator <positive_integer> | (-url <URL> (-host <string> [-port <port>] [-groupName <string>] [-httpMethod ( GET | POST )])))

0x00000089bae000000006 DEFAULT GET //1.1.1.1:80/html/index.html

flush cache ob -URL /html/index.html -host 1.1.1.1 -groupName DEFAULT
done

Citrix ADC GUIを使用してキャッシュ構成をフラッシュする

Citrix ADC GUIを使用してキャッシュフラッシュを構成するには、以下の手順を実行します。

  1. [最適化] > [コンテンツグループ] に移動します。
  2. [コンテンツグループ] 詳細ペインで、[追加] をクリックします。
  3. キャッシュコンテンツグループの作成 」ページで、「 その他 」タブで次のパラメータを設定します。
    1. キャッシュのフラッシュ。このチェックボックスをオンにすると、キャッシュオブジェクトがフラッシュされます。
  4. [作成 して 閉じる] をクリックします。

    キャッシュオブジェクトのフラッシュ

さまざまなシナリオに対応する統合キャッシュの構成

以下のセクションでは、さまざまなシナリオにおけるNetScalerアプライアンスの統合キャッシュの構成について説明します。

NetScaler 9.2リリース以降、統合キャッシュにはキャッシュ用のメモリが増えます。統合キャッシュメモリは、ハードウェアアプライアンスで使用可能なメモリによってのみ制限されます。使用可能なメモリの最大 50% を、統合キャッシュ機能に割り当てることができます。

CLI を使用してキャッシュのメモリ割り当てを設定するには

コマンドプロンプトで、次のように入力します。

set cache parameter -memlimit <value>

統合キャッシュのデフォルトのグローバルメモリ制限は 0 です。したがって、統合キャッシュ機能を有効にしても、グローバルメモリ制限が明示的に設定されるまで、NetScalerアプライアンスはオブジェクトをキャッシュしません。

次のセクションでは、さまざまなシナリオで統合キャッシュを構成する方法について説明します。

NetScalerアプライアンスのメモリ制限は、アプライアンスの起動時に識別されます。したがって、メモリ制限を変更した場合は、アプライアンスを再起動して、パケットエンジン全体に適用可能な変更を行う必要があります。

統合キャッシュが有効で、キャッシュメモリ制限がゼロ以外に設定されている

たとえば、アプライアンスを起動し、統合キャッシュ機能が有効になり、グローバルメモリ制限が正の数に設定されるシナリオを考えてみましょう。前に設定したメモリは、起動プロセス中に統合キャッシュ機能に割り当てられます。アプライアンスの使用可能なメモリに応じて、メモリ制限を別の値に変更することもできます。

CLI を使用したの設定

  1. キャッシュパラメータを表示する

    > show cache parameter
    統合キャッシュのグローバル構成:
    メモリ使用量の制限:500 MB
    メモリ使用量制限 (アクティブ値): 500 MB
    メモリ使用制限の最大値:843 MB
    ヘッダー経由:NS-CACHE-9.3:18
    HOSTNAME_AND_IPを使用してキャッシュされたオブジェクトを検証する
    累積する POST 本体の最大サイズ:0 バイト
    現在の未処理のプリフェッチ:0
    未処理のプリフェッチの最大数:4294967295
    NOCACHEポリシーをバイパスポリシーとして扱う:はい
    グローバル定義解除アクション:NOCACHE
    
  2. ゼロ以外のメモリ制限を設定する

    キャッシュパラメータを設定する-memlimit 600
    

上記のコマンドを実行すると、次の警告メッセージが表示されます。 警告:新しい統合キャッシュメモリ制限を使用するには、構成を保存してNetScalerアプライアンスを再起動します。

  1. 構成を保存します

    save config
    
  2. シェルプロンプトから次のコマンドを実行して、設定ファイルで確認します。

    root @ns # cat /nsconfig/ns.conf | grep MemLimit
    
  3. メモリ制限を変更する

    set cache parameter -memLimit 600 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 0 -enableBypass YES -undefAction NOCACHE
    
  4. アプライアンスを再起動します

    root@ns# reboot
    
  5. メモリ制限の新しい値を確認します

    > show cache parameter
    統合キャッシュのグローバル構成:
    メモリ使用量の制限:600 MB
    メモリ使用量制限 (アクティブ値): 600 MB
    メモリ使用制限の最大値:843 MB
    ヘッダー経由:NS-CACHE-9.3:18
    HOSTNAME_AND_IPを使用してキャッシュされたオブジェクトを検証する
    累積する POST 本体の最大サイズ:0 バイト
    現在の未処理のプリフェッチ:0
    未処理のプリフェッチの最大数:4294967295
    NOCACHEポリシーをバイパスポリシーとして扱う:はい
    グローバル定義解除アクション:NOCACHE
    

すべてのパケットエンジンが正常に起動すると、統合キャッシュ機能は、設定したメモリをネゴシエートします。アプライアンスが設定済みのメモリを使用できない場合は、それに応じてメモリが割り当てられます。使用可能なメモリが割り当てたメモリよりも少ない場合、アプライアンスは少ない数を推奨します。統合キャッシュ機能は、アクティブな値と同じものを使用します。

統合キャッシュが無効になり、キャッシュメモリ制限がゼロ以外に設定されている

このシナリオでは、アプライアンスを起動すると、統合キャッシュ機能が無効になり、グローバルメモリ制限が正の数に設定されます。したがって、ブートプロセス中に統合キャッシュにメモリが割り当てられません。

CLI を使用したの設定

  1. キャッシュパラメータを表示する

    > show cache parameter
    統合キャッシュのグローバル構成:
    メモリ使用量の制限:600 MB
    メモリ使用制限の最大値:843 MB
    ヘッダー経由:NS-CACHE-9.3:18
    HOSTNAME_AND_IPを使用してキャッシュされたオブジェクトを検証する
    累積する POST 本体の最大サイズ:0 バイト
    現在の未処理のプリフェッチ:0
    未処理のプリフェッチの最大数:4294967295
    NOCACHEポリシーをバイパスポリシーとして扱う:はい
    グローバル定義解除アクション:NOCACHE
    
  2. 新しいメモリ制限を設定する

    set cache parameter -memlimit 500
    

上記のコマンドを実行すると、次の警告メッセージが表示されます。 [警告:機能が有効になっていません]。

  1. 構成を保存します

    save config
    
  2. シェルプロンプトから次のコマンドを実行して、設定ファイル

    root @ns # cat /nsconfig/ns.conf | grep MemLimit
    
  3. メモリ制限を変更する

    キャッシュパラメータを設定します。-memLimit 500-経由NS-CACHE-9.3:18-検証ホスト名_AND_IPの使用-maxPostLen 0-有効バイパスYES-無効化NOCACHE-
    
  4. メモリ制限の新しい値を確認します

    > show cache parameter
    統合キャッシュのグローバル構成:
    メモリ使用量の制限:500 MB
    メモリ使用制限の最大値:843 MB
    ヘッダー経由:NS-CACHE-9.3:18
    HOSTNAME_AND_IPを使用してキャッシュされたオブジェクトを検証する
    累積する POST 本体の最大サイズ:0 バイト
    現在の未処理のプリフェッチ:0
    未処理のプリフェッチの最大数:4294967295
    NOCACHEポリシーをバイパスポリシーとして扱う:はい
    グローバル定義解除アクション:NOCACHE
    
  5. 統合キャッシュ機能を有効にする

    enable ns feature IC
    
  6. メモリ制限の新しい値を確認します

    > show cache parameter
    統合キャッシュのグローバル構成:
    メモリ使用量の制限:500 M バイト
    メモリ使用量制限 (アクティブ値): 500 M バイト
    メモリ使用制限の最大値:843 MB
    ヘッダー経由:NS-CACHE-9.3:18
    HOSTNAME_AND_IPを使用してキャッシュされたオブジェクトを検証する
    累積する POST 本体の最大サイズ:0 バイト
    現在の未処理のプリフェッチ:0
    未処理のプリフェッチの最大数:4294967295
    NOCACHEポリシーをバイパスポリシーとして扱う:はい
    グローバル定義解除アクション:NOCACHE
    

500 MB のメモリが統合キャッシュ機能に割り当てられます。

  1. 構成を保存して、アプライアンスの再起動時にメモリが自動的に機能に割り当てられるようにします。

統合キャッシュが有効で、キャッシュメモリがゼロに設定されている

このシナリオでは、アプライアンスを起動すると、統合キャッシュ機能が有効になり、グローバルメモリ制限がゼロに設定されます。したがって、ブートプロセス中に統合キャッシュにメモリが割り当てられません。

CLI を使用したの設定

  1. シェルプロンプトからns.confファイルに設定されているメモリ制限を確認します

    root @ns # cat ns.conf | grep MemLimit
    
  2. メモリ制限を変更する

    set cache parameter -memLimit 0 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 4096 -enableBypass YES -undefAction NOCACHE
    
  3. メモリ制限の値を確認します。

    > show cache parameter
    統合キャッシュのグローバル構成:
    メモリ使用量の制限:0 M バイト
    メモリ使用制限の最大値:843 MB
    ヘッダー経由:NS-CACHE-9.3:18
    HOSTNAME_AND_IPを使用してキャッシュされたオブジェクトを検証する
    累積する POST 本体の最大サイズ:0 バイト
    現在の未処理のプリフェッチ:0
    未処理のプリフェッチの最大数:4294967295
    NOCACHEポリシーをバイパスポリシーとして扱う:はい
    グローバル定義解除アクション:NOCACHE
    

メモリ制限は 0 MB に設定され、メモリは統合キャッシュ機能に割り当てられません。

  1. メモリ制限を設定して、統合キャッシュ機能でオブジェクトがキャッシュされるようにする

    キャッシュパラメータを設定する-MEMLimit 600
    

上記のコマンドを実行すると、アプライアンスは統合キャッシュ機能用にメモリをネゴシエートし、使用可能なメモリがその機能に割り当てられます。その結果、アプライアンスはアプライアンスを再起動せずにオブジェクトをキャッシュします。

  1. メモリ制限の値を確認します。

    > show cache parameter
    統合キャッシュのグローバル構成:
    メモリ使用量の制限:600 M バイト
    メモリ使用量制限 (アクティブ値): 600 M バイト
    メモリ使用制限の最大値:843 MB
    ヘッダー経由:NS-CACHE-9.3:
    HOSTNAME_AND_IPを使用してキャッシュされたオブジェクトを検証する
    累積する POST 本体の最大サイズ:0 バイト
    現在の未処理のプリフェッチ:0
    未処理のプリフェッチの最大数:4294967295
    NOCACHEポリシーをバイパスポリシーとして扱う:はい
    グローバル定義解除アクション:NOCACHE
    

600 MB のメモリが統合キャッシュ機能に割り当てられます。

  1. 構成を保存します。アプライアンスの再起動時に、メモリが自動的に機能に割り当てられるようにします。

  2. シェルプロンプトからns.confファイルに設定されているメモリ制限を確認します

    root @ns # cat /nsconfig/ns.conf | grep MemLimit
    
  3. メモリ制限を変更する

    キャッシュパラメータを設定します。-MEMLimit 600-経由NS-CACHE-9.3 ፦検証ホスト名_AND_IPの使用-MaxPostLen 4096-有効バイパスYES-無効化NOCACHE-
    

統合キャッシュが無効になり、キャッシュメモリがゼロに設定される

このシナリオでは、アプライアンスを起動すると、統合キャッシュ機能が無効になり、グローバルメモリ制限がゼロに設定されます。したがって、ブートプロセス中に統合キャッシュにメモリが割り当てられません。

CLI を使用したの設定

  1. シェルプロンプトからns.confファイルに設定されているメモリ制限を確認します

    root @ns # cat /nsconfig/ns.conf | grep MemLimit
    
  2. メモリ制限を変更する

    set cache parameter -memLimit 0 -via NS-CACHE-9.3: 18 -verifyUsing HOSTNAME_AND_IP -maxPostLen 4096 -enableBypass YES -undefAction NOCACHE
    
  3. メモリ制限の値を確認します。

    > show cache parameter
    統合キャッシュのグローバル構成:
    メモリ使用量の制限:0 M バイト
    メモリ使用制限の最大値:843 MB
    ヘッダー経由:NS-CACHE-9.3:18
    HOSTNAME_AND_IPを使用してキャッシュされたオブジェクトを検証する
    累積する POST 本体の最大サイズ:0 バイト
    現在の未処理のプリフェッチ:0
    未処理のプリフェッチの最大数:4294967295
    NOCACHEポリシーをバイパスポリシーとして扱う:はい
    グローバル定義解除アクション:NOCACHE
    

メモリ制限は 0 MB に設定され、メモリは統合キャッシュ機能に割り当てられません。また、キャッシュ構成コマンドを実行すると、「 警告:機能は有効ではありません[警告:機能が有効になっていません]」という警告メッセージが表示されます。

  1. 統合キャッシュ機能を有効にする

    enable ns feature IC
    

この段階で、統合キャッシュ機能を有効にすると、アプライアンスは機能にメモリを割り当てません。その結果、オブジェクトはメモリにキャッシュされません。また、キャッシュ構成コマンドを実行すると、次の警告メッセージが表示されます。IC 用にメモリが設定されていません。メモリ制限を設定するには、set cache parameter コマンドを使用します。

  1. メモリ制限を設定して、統合キャッシュ機能でオブジェクトがキャッシュされるようにする

    set cache parameter -memLimit 500
    

上記のコマンドを実行すると、アプライアンスは統合キャッシュ機能用にメモリをネゴシエートし、使用可能なメモリがその機能に割り当てられます。その結果、アプライアンスはアプライアンスを再起動せずにオブジェクトをキャッシュします。

この機能を有効にしてメモリ制限を設定する順序は重要です。機能を有効にする前にメモリ制限を設定すると、「 警告:機能は有効ではありません[警告:機能が有効になっていません]」という警告メッセージが表示されます。

  1. メモリ制限の値を確認します。

    > show cache parameter
    統合キャッシュのグローバル構成:
    メモリ使用量の制限:500 M バイト
    メモリ使用量制限 (アクティブ値): 500 M バイト
    メモリ使用制限の最大値:843 MB
    ヘッダー経由:NS-CACHE-9.3:
    HOSTNAME_AND_IPを使用してキャッシュされたオブジェクトを検証する
    累積する POST 本体の最大サイズ:0 バイト
    現在の未処理のプリフェッチ:0
    未処理のプリフェッチの最大数:4294967295
    NOCACHEポリシーをバイパスポリシーとして扱う:はい
    グローバル定義解除アクション:NOCACHE
    

500 MB のメモリが統合キャッシュ機能に割り当てられます。

  1. 構成を保存します

    save config
    
  2. シェルプロンプトからns.confファイルに設定されているメモリ制限を確認します

    root @ns # cat /nsconfig/ns.conf | grep MemLimit
    
  3. メモリ制限を変更する

    キャッシュパラメータを設定します。-memLimit 500-経由NS-CACHE-9.3:18-検証ホスト名_AND_IPの使用-maxPostLen 4096-有効バイパスYES-Undefaction NOCACHE
    

統合キャッシュ