データ圧縮
NCache データ圧縮を提供して、クラスターとクライアント ノード間のデータ トラフィックを制限します。 データ圧縮では、データを圧縮形式で保存するため、限られた利用可能なメモリをより効率的に利用できます。 デフォルトでは、データ圧縮は無効になっています。 これは次を使用して設定できます。 NCache 管理センター。
データ圧縮を有効/無効にする方法については、「 圧縮の構成 のセクションから無料でダウンロードできます。
データ圧縮を使用する理由
データ圧縮はユーザーにさまざまなメリットをもたらします。 データが圧縮されると、必要なスペースが減り、メモリの消費量が削減されます。 キャッシュ上で実行される操作は読み取り/書き込み集中型であるため、圧縮により操作のパフォーマンスが向上します。 ネットワーク内でデータを転送するためのネットワークトリップが少なくなるため、ネットワーク全体のコストが削減され、最終的には時間の消費も削減されます。
データ圧縮の構成
に加えられた変更 NCache 圧縮設定は、次の構成に影響します。 config.ncconf それに応じてファイルを作成します。
<compression enabled="true" threshold="500kb"/>
前述の例では、指定されたしきい値を超えるサイズのアイテムをクライアント側で圧縮/解凍するかどうかを指定します。
enabled
: 圧縮を有効にするには、この属性を「True」に設定します。 この属性が「True」に設定されていない場合、圧縮は無効になります。 デフォルトでは、圧縮はすべてのキャッシュで無効になっているため、 enabled
デフォルトでは「False」です。
threshold
: を指定します。 threshold
価値。 この値より大きい項目のみがクライアント側 (場合によってはサーバー側) で圧縮/解凍されます。
データ圧縮とは何をするのですか?
NCache 適用 GZip圧縮 データ圧縮が有効になると、指定されたしきい値を超えるすべての項目が対象になります。 NCache 管理センター。 これにより、より多くのメモリ ストレージが提供され、ネットワーク トラフィックが最小限に抑えられます。
指定されたしきい値より小さいサイズのオブジェクトでは、 NCache 圧縮は適用されません。 これらのアイテムはネットワークを介して移動し、元のサイズでキャッシュに保存されます。
データ圧縮はどこで行われるのでしょうか?
ほとんどの場合、圧縮/解凍はクライアント側で行われます。 しかし、時々、 NCache サーバーはデータ自体の圧縮/解凍を行います。
クライアント側の圧縮/解凍
クライアント側の圧縮/解凍は次の場合に発生します。 NCache 圧縮が有効になっており、以下のいずれかの状況が発生した場合:
クライアントによってリモート サーバーに送信されるアイテムのサイズが指定されたしきい値を超える場合、それらのアイテムはキャッシュ サーバーに送信される前に圧縮する必要があります。 キャッシュ サーバーは、データ圧縮を適用せずにデータを保存するだけです。
圧縮データがクライアントによって要求された場合、キャッシュ サーバーは解凍を適用せず、データを圧縮形式でインターネット上に送信します。 クライアントは圧縮された形式を受け取り、データ自体を解凍します。
サーバー側の圧縮/解凍
サーバー側の圧縮/解凍は次の場合に発生します。 NCache 圧縮が有効になっており、以下のいずれかの状況が発生した場合:
- キャッシュ スタートアップ ローダーまたはリードスルー プロバイダーを通じてロードされているアイテムのサイズが指定されたしきい値より大きい場合、これらのアイテムは NCache サーバ。 The NCache サーバーは、このデータをデータ ソースから受信した後、キャッシュに保存する前に圧縮します。
NCache データ ソースに送信する前に、構成されたライトスルー プロバイダーまたはライトビハインド プロバイダーを介してデータ ソースに書き込む必要がある圧縮データを解凍します。
クライアントキャッシュでのデータ圧縮
クライアント キャッシュは独自にデータを圧縮します。 サーバーとクライアント キャッシュの両方で圧縮が有効になっている場合、サーバーはサーバーのしきい値に従ってデータを圧縮し、クライアント キャッシュは独自のしきい値に従ってデータを圧縮します。 いずれかで圧縮が無効になっている場合でも、データは圧縮が有効になっているキャッシュに対してのみ圧縮されます。
Note
圧縮は、キャッシュトポロジとは無関係です。