このページでは

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

パフォーマンスとキャッシュ

Amplitude 実験の評価は、ローカルとリモートの2つのモードをサポートしています。各モードには異なるパフォーマンス特性とトレードオフがあります。

パフォーマンス

評価のパフォーマンスは、使用する評価のタイプと、リクエストの送信元によって異なります。

Amplitudeは米国(us-west-2)と欧州(eu-central-1)にデータセンターをホストしています。Amplitudeデータをホストしているデータセンターから地理的に離れたデータセンターへのリクエストは、レイテンシーが高くなります。

リモート評価

リモート評価では、Fastlyを使用してユーザーの評価結果をキャッシュします。キャッシュにヒットすると、バリアントがエッジから提供され、パフォーマンスが改善されます。

以下の結果は、過去6か月間にわたって収集されたAmplitudeの米国データセンターへの合成リモート評価テストリクエストに基づいています。遅延には、ドメインネームシステム(DNS)解決、トランスポート層セキュリティ(TLS)接続、およびリモート評価要求応答のラウンドトリップが含まれます。

ローカル評価

ローカル評価はフラグ設定を事前に取得し、それらを使用してすべてのユーザを評価します。 これにより、ネットワーク要求が回避され、リモート評価と比較して評価が高速化されます。

以下の結果は、単一フラグ評価を測定しています。この結果は、10,000回の反復処理を10回実施して収集され、ランダム化されたユーザー入力が1つのフラグ設定に対して評価されました。Amplitudeはこれらの結果を3つの可能なフラグ構成からランダムに選択しました。

CDN キャッシュ

コンテンツ配信ネットワーク

  • コンテンツ配信ネットワーク (CDN) は、インターネットコンテンツを迅速に配信するために連携して動作する地理的に分散したサーバーのグループです。
  • CDNはリモート評価用にバリアントレスポンスをキャッシュし、ローカル評価用にフラグ設定をキャッシュします。

実験はリクエストに対するレスポンスを計算して取得した後、そのリクエストをキャッシュして再利用することで、将来のリクエストを高速化します。実験はCDNを使用してユーザーの実験と機能フラグをキャッシュします。これにより、その後のリクエストに低遅延でアクセスできます。

キャッシュの有効期限 (TTL)

実験は、CDN上のサーバーへのリクエストをキャッシュします。キャッシュは Time-to-Live(TTL; 生存可能時間)ポリシーを使用しており、そのウィンドウ内にキーにアクセスされたかどうかに関係なく、60 分後に期限切れになります。 60分間のキャッシュウィンドウは、最初のページ読み込みから開始されます。

キャッシュキー

CDN は、ユーザー情報を含む受信したリクエストを正確にキャッシュします。 ユーザー情報への変更はすべて、実験が以前にまったく同じリクエストをキャッシュしていない限り、CDNキャッシュに記録されません。

キャッシュの無効化

基礎となるフラグが変更されたときに結果が古くならないようにするため、実験はデプロイメントに関連付けられたフラグまたは実験を更新するときに、そのデプロイメント全体のキャッシュされた結果を無効化(削除)します。SDKはユーザーの特定のデプロイメントに関するすべての実験の結果と機能フラグを取得するため、実験はフラグが1つ変更されるたびに、そのデプロイメントに関するすべての結果を無効にします。また、実験は、デプロイメントをフラグに追加または削除するときに、デプロイメントに対するキャッシュされたすべてのリクエストを無効にします。

スケジュールされた開始は例外です。スケジュールされた開始時刻に到達してもキャッシュは無効になりません。 開始時刻の1時間前に行われたリクエストは、60分のTTLが期限切れになるまでキャッシュされたスタート前のレスポンスを保持しますが、開始時刻以降に行われたリクエストは直ちにバリアントを受け取ります。

動的ターゲティングキャッシュに関する考慮事項

実験では、ユーザープロパティやアナリティクスから同期された行動コホートなど、動的なプロパティに基づいて機能フラグや実験をターゲットにすることができます。 これらのプロパティは取得リクエストに含まれていないため、キャッシュが失われ、実験が最新の動的プロパティを使用してユーザーを再評価するまで、最大1時間(TTL)キャッシュされた実験結果を受け取ることができます。

Amplitudeユーザープロパティ

実験のリモート評価サーバーは、Amplitudeが以前ユーザーについて特定したユーザープロパティに基づいてターゲットにすることができます。CDN はリクエストで明示的に渡されたユーザープロパティのみに基づいてレスポンスをキャッシュするため、分析がユーザープロパティを別のバリアントに割り当てる値に更新した後でも、発信側に失効済みの結果が最長 1 時間続く可能性があります。

行動コホート

Amplitude アナリティクスで定義された行動コホートをフラグと実験のターゲティングに使用したい場合があります。実験はコホートを時間単位で計算し、CDNキャッシュのTTLも時間単位であるため、ユーザーを特定のバリアントにターゲットに設定するには最大2時間かかることがあります。

Amplitude 実験では、バリアントへの組み込みが時間的制約を受けないフラグや実験に対してのみ、動的コホートターゲティングを推奨しています。

これは役に立ちましたか?