Message Processor で L1 キャッシュの有効期限を設定する

Apigee Edge はデータの永続性のためにキャッシュを提供する 比較できます。受信した API データは、キャッシュに短期間保存される 後に削除されます。データが削除されるまで保持される最長期間 これはキャッシュの有効期限、つまり有効期間(TTL)と呼ばれます。 各キャッシュにはデフォルトの TTL がありますが、場合によっては TTL 値の変更が必要になる場合があります API のパフォーマンスを改善します

キャッシュの種類

API データは、次の 2 種類のキャッシュに保存されます。

  • レベル 1(L1): アクセスは高速だがストレージは少ないメモリ内キャッシュ できます。
  • レベル 2(L2): Cassandra データストアの永続キャッシュ。 アクセスできますが、利用可能なストレージ容量は多くなります。

L1 キャッシュ内のデータエントリが L1 TTL に達すると、そのデータエントリは削除されます。ただし、 エントリのコピーが L2 キャッシュ(L1 キャッシュよりも長い TTL を持つ)に保持されます。 他の Message Processor からアクセス可能な状態が維持されます。 インメモリと 永続キャッシュ レベルをご覧ください。

最大 L1 TTL

Edge for Private Cloud では、メッセージごとに最大 L1 キャッシュ TTL を設定できます。 最大 L1 TTL プロパティ(conf_cache_max.l1.ttl.in.seconds)を使用してプロセッサに格納されます。 L1 キャッシュのエントリは、L1 TTL の最大値に達すると期限切れになり、削除されます。

注:

  • デフォルトでは、最大 L1 TTL は無効になっています(値 -1)。 この場合、L1 キャッシュ内のエントリの TTL が PopulateCache ポリシーの <ph type="x-smartling-placeholder"></ph> 有効期限の設定(L1 キャッシュと L2 キャッシュの両方)。
  • 最大 L1 TTL は、その値がキャッシュ全体の有効期限よりも小さい場合にのみ効果があります。

最大 L1 TTL の設定

Message Processor で最大 L1 TTL を設定するには、次のようにします。

  1. <ph type="x-smartling-placeholder"></ph>を開きます。 構成ファイル /opt/apigee/customer/application/message-processor.properties 表示されます。ファイルが存在しない場合は作成します。
  2. [Max L1 TTL] プロパティを目的の値に設定します。
    conf_cache_max.l1.ttl.in.seconds = 180

    180 秒の値をおすすめします。

  3. プロパティ ファイルの所有者を「apigee」にします。ユーザー:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. Message Processor を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

最大 L1 TTL の設定に関するガイドライン

最大 L1 TTL を設定する際は、次のガイドラインに留意してください。

  • RPC ミス: リモート プロシージャ コール(RPC)のミスが Message Processor(MP)は 特に複数のデータセンターをまたいで、 L1 キャッシュに古いエントリがあり、それらのエントリが削除されるまで古いままとなる可能性があります。 L1 キャッシュから取得します最大 L1 TTL を低い値に設定すると、 古いエントリが削除され、L2 キャッシュから新しい値と置き換えられるようになります。
    解決策: conf_cache_max.l1.ttl.in.seconds を減らします。
  • Casandra の過度の負荷: 最大 L1 TTL の値を設定すると、L1 キャッシュ エントリ 期限切れになる頻度が高くなり、 L1 キャッシュミスと L2 キャッシュヒットが 多くなりますL2 キャッシュは頻繁にヒットするため Cassandra の負荷が増加します。
    解決策: conf_cache_max.l1.ttl.in.seconds を増やします。

原則として、最大 L1 TTL は周波数とバランスの取れた値に調整します。 Cassandra に潜在的な負荷がかかる MP 間の RPC ミスの割合。

conf_cache_max.l1.ttl.in.seconds の値は、次の値以上に設定することをおすすめします。 180 秒(3 分)で処理のスムーズな実行を継続します。