ハッシュ計算に基づく多層実験トラフィックセグメンテーションの実装

ハッシュ計算に基づく多層実験トラフィックセグメンテーションの実装

1. 背景

新しいサイト機能またはサイト内の新しい戦略の開発が完了したら、フルトラフィックを開始する前に、新しい機能または新しい戦略の長所と短所を評価する必要があります。一般的に使用される評価方法は、ABテストです。これは、フルボリュームから2つの小さなトラフィックボリュームをサンプリングします。1つは新しい戦略ブランチを使用し、もう1つは古い戦略ブランチを使用します。2つのトラフィックボリュームでのさまざまな指標の違いを比較することで、新しい戦略の長所と短所を評価し、新しい戦略がフルトラフィック向けかどうかを判断できます。

上記のサンプリングとは、特定のランダム化方法に従ってオンライン トラフィックを分割することを指します。サンプリングとは、この分割方法、または分割によって取得されたトラフィックのサブセットを指す場合があります。サンプリングは、特別なタイプの小規模トラフィックです。トラフィックの分割は均一性とランダム性を確保し、仕様を満たさない部分を必要に応じてフィルタリングする必要があります。サンプリングプロセスは、トラフィックセグメンテーションとトラフィックスクリーニングの2つのステップに分けられます。トラフィックセグメンテーションとは、トラフィック全体を均等に分割し、トラフィックの一定の割合を抽出することです。トラフィックスクリーニングは、トラフィックセグメンテーションの補助です。スクリーニングプロセスは、セグメント化されたトラフィックから仕様を満たさない部分をフィルタリングすることです。この記事では、主にトラフィックセグメンテーションの実装について説明します。

2. 単層トラフィック分割アーキテクチャ

トラフィック セグメンテーションを実現する一般的な方法は、単層トラフィック セグメンテーションです。トラフィック セグメンテーションは、何らかの方法、つまりトラフィック セグメンテーションの基盤で実行する必要があります。たとえば、トラフィック内の Cookie に基づいてセグメント化したり、ランダムにセグメント化したりできます。セグメント化の方法が異なると、セグメンテーション オブジェクトのセットも異なります。Cookie に基づいてセグメント化する場合、セグメンテーション オブジェクト セットはすべて Cookie になります。ランダムにセグメント化する場合、セグメンテーション オブジェクト セットはサイトのすべてのトラフィックになります。

図1.1 単層トラフィック分割アーキテクチャの概略図

上記のアイデアでは、図1.1に示すように、指定されたトラフィックセグメンテーション法に応じて、ハッシュアルゴリズムによって生成された結果が得られますセグメンテーションオブジェクトは、間隔セグメントを間隔セグメントにマッピングします。セグメントプラス1。モジュロ後の結果は、セグメンテーションオブジェクト間隔の完全なセットに一意にマッピングできます。

最後に、実験の要件に応じて間隔セグメントをさらに細分化し、実験の比較のためにいくつかのサブ間隔に分割します。たとえば、下の図に示すように、100% 間隔全体が複数のサブ間隔に分割されています。各サブ間隔では、間隔の一意の識別子として一意の番号 sid を使用します。sid=1 のサブ間隔は 1% のトラフィックに対応するため、そのサブ間隔は [0,99] です。同様に、sid=2 の 2 番目の 1% サブ間隔に対応する間隔値は [100,199] です。このようにして、完全な 100% 間隔をいくつかのサブ間隔に分割し、同じ割合の 2 つのサブ間隔を実験戦略の比較に使用できます。

図1.2 フローサブ区間の分割

3. 再利用可能なトラフィックのための多層トラフィックセグメンテーションアーキテクチャ

この単層トラフィック分割方法は、排他的なトラフィック分割方法です。1 つのサブ間隔は 1 つの実験でのみ使用でき、1 つのリクエストは 1 つの実験にのみヒットします。利点は、実験が分離されており、互いに影響を及ぼさないことです。欠点は、リソースが限られていることです。トラフィックが割り当てられた後、後続の要求は長期間待機して空腹状態になります。この排他的なトラフィック分割方法では、明らかに、増加する実験のニーズを完全に満たすことができません。排他性の問題を解決するために、多層トラフィック分割方法を採用することができます。

マルチレイヤートラフィックセグメンテーションの考え方は、次の図に示すように、単層構造をマルチレイヤー構造に拡張することです。複数のレイヤーは直交性を満たす必要があります。ここでの複数のレイヤー間の直交性とは、あるレイヤーの任意のサブインターバルを他のレイヤーにランダムかつ均等にマッピングできることを意味します。このようにして、サブインターバルが他のレイヤーに与える影響をレイヤー全体に均等に分散できます。

多層トラフィックセグメンテーションアーキテクチャは、実験トラフィックを 100% から 100%*n に拡張できるため、各レイヤーのトラフィックを実験の比較に使用できます。 1 つのリクエストが同時に複数の実験にヒットし、実験トラフィックが再利用されます。 多層トラフィックにより、異なるレイヤーの実験間の影響が均一で予測可能になります。 多層実験を実施する前提は、実験間の影響が許容範囲内であることを保証することです。 一部の実験では、再利用が一切許可されません。 たとえば、表示実験の場合、2 つの実験がそれぞれ表示スタイルテンプレートのセットを指定し、表示モジュールの観点から見ると、1 つのリクエストで表示できるのは 1 つのスタイルテンプレートだけです。 したがって、ここで互換性のない実験は、同じレイヤーにしか配置できません。

図1.3 多層トラフィック分割アーキテクチャの概略図

マルチレイヤーのトラフィックセグメンテーションは、さまざまなレイヤーを使用できます角度はレイヤーを表し、その中にはレイヤー1にはレイヤーが含まれています。親層のトラフィックを2つの部分に分割するために、これらの2つの部分の生成方法が一貫しているはずです。

図1.4 トラフィックセグメンテーションの多層ネストの概念図

理論的には、マルチレイヤトラフィック分割アーキテクチャのスライス可能なレイヤの数は無限であり、任意の数のトラフィックレイヤをサポートできます。ただし、実装の観点から、無限の数のレイヤを実現することは困難です。これは、レイヤ間の直交性を保証するために、各ハッシュアルゴリズムの結果が直交していることを保証するために、各レイヤにハッシュアルゴリズムのセットを実装する必要があるためです。無限の数のレイヤを実現するには、直交性を保証する無限の数のハッシュアルゴリズムを実装する必要があります。ハッシュアルゴリズムの数が増えると、必然的に直交性が低下します。実装できる直交ハッシュアルゴリズムは有限の数であり、すべての実験要件を満たすにはハッシュアルゴリズムの数が必要です。次に、多層トラフィック分割アーキテクチャを実装する方法を紹介します。

多層トラフィックセグメンテーションを実現するために、まずハッシュアルゴリズムを実装します。このハッシュアルゴリズムの入力は、Cookie やランダム値などの情報であり、出力は単一のハッシュの結果です。また、このハッシュアルゴリズムの結果が十分に均一でランダムであることを確認する必要があります。次に、このハッシュを変換し、複数の直交ハッシュアルゴリズムに拡張します。

単一ハッシュアルゴリズムのランダム性と均一性を検証するために、実験検証を実施しました。下図に示すように、各行は100%フルセットを表し、各列はフルセットから抽出された10%を表します。テストされたフルセットは100万です。以下のテストデータから、各レイヤーのトラフィックセグメンテーション結果が比較的均一でランダムであることがわかります。

図1.5 単一ハッシュアルゴリズムの均一性とランダム性を検証するための実験データ

単層ハッシュアルゴリズムでは、単層ハッシュを多層に拡張する必要があります。ここで使用できる方法は多数あります。この記事では、シフト変換法を使用して、単層ハッシュを多層ハッシュに拡張します。多層実験トラフィックセグメンテーションの実際の環境テストデータを以下に示します。

4. 実際のデータテスト

アルゴリズムの実現可能性を検証するために、実際のデータテストを実施しました。テスト結果は次のとおりです。

表1.2 均一性検証データ

作成者: yangfangwei&huangjin&yaoshiyu

原題: ハッシュ計算に基づく多層実験的トラフィ​​ックセグメンテーションの実装

キーワード: ベース、ハッシュ、計算、マルチレイヤー、実験、トラフィック、実装、背景、紹介、ウェブマスター、ウェブサイト、ウェブサイトのプロモーション、収益化

<<:  画像閲覧時代のウェブサイト画像を最適化する方法

>>:  実際のケーススタディでは、ウェブサイトに古いドメイン名を使用することによる SEO の利点が示されています。

推薦する

インターネット企業のオフラインイベント企画・実行の全プロセスを共有

みなさん、こんにちは。私は長い間記事を書いていませんでした。私はインターネット企業で 6 年間働いて...

最近の百度地震の原因、動機、傾向に関する実験レポート

実験の動機: Baidu の地震により、いくつかの Web サイトが影響を受けたため、実験はそれらの...

リースウェブ特別価格 KVM 512M 6 USD/月 米国/ドイツ

IDC の大手企業 Leaseweb も低価格の VPS の提供を開始しました (1997 年に設立...

Ramnode - 独立記念日 VPS 6.8% オフ

今日はアメリカの独立記念日です。Ramnode は VPS プロモーションで 38% 割引を提供して...

キッズランドから見る玩具小売業界の変貌

[51CTO.comからのオリジナル記事] 2020年は特別な年です。多くの企業が危機に直面しており...

モバイルアプリを素早く開発するにはどうすればいいですか? Ant Financial mPaaSはすでにあなたのために答えを書きました

2、3年前に戻ってみれば、バスや地下鉄に乗るのにアリペイを使っている人を見て人々は驚いたかもしれませ...

マルチクラウドプラットフォーム環境統合ソリューション

詳細に入る前に、「クラウド統合アーキテクチャとは何ですか?」という質問に答えましょう。クラウド統合ア...

5つの側面から高品質な友情リンクを購入する方法

一方的なインバウンド リンクにより、低重みでランク付けされていない Web サイトでも短期間で質的な...

Alibaba Cloud ハイブリッドクラウド災害復旧サービスがオンラインになりました!

デジタル変革の潮流の中で、データは企業の中核資産とみなされ、データセキュリティをどのように確保するか...

医療ウェブサイトにSEOは必要でしょうか?

SEOは、多くのウェブマスターが生計を立てるために、また多くの企業が利益を上げるために使用する技術で...

Baiduで「SEO」を検索すると、実際に「チベタン・マスティフ」が出てきた。これはおかしいだろうか?

今日、百度で「seo」というキーワードを検索したところ、百度の関連検索に「チベタン・マスティフ」とい...

locvps: 22 元/月、US CN2 VPS、1G メモリ/1 コア/30g SSD/400g トラフィック/150M 帯域幅

locvpsは現在、米国ロサンゼルスデータセンターの「ロサンゼルス#2(BGP+CN2)」シリーズV...

SEO の本質的な目標はランキングではない (パート 2)

今日のSEO環境は大きく悪化しています。スパムがインターネットに溢れており、SEO に取り組んでいる...