リンク トレースを簡単に: リンク コストのガイド

広い意味でのリンク コストには、データの生成、収集、計算、ストレージ、リンク トラッキングを使用して生成されるクエリなどの追加のリソース オーバーヘッドだけでなく、リンク システムのアクセス、変更、メンテナンス、コラボレーションなどの人的運用およびメンテナンスのコストも含まれます。 。理解を容易にするために、このセクションでは狭義のリンク トラッキング マシンのリソース コストに焦点を当て、人的コストについては次のセクション (効率) で紹介します。

リンクトラッキングマシンコストの構成構造

リンク トラッキング マシンのコストは、主にクライアントとサーバーの 2 つのカテゴリに分類されます。 リンク トラッキング クライアント (SDK/エージェント) は通常、ビジネス プロセス内で実行され、CPU、メモリ、ネットワーク、ディスクなどのシステム リソースをビジネス プログラムと共有します。リンク追跡のクライアント オーバーヘッドには主に、リンク埋め込みポイントの傍受、リンク データの生成と透過的送信、単純な事前集約や圧縮/エンコーディングなどのデータ処理、データのキャッシュとレポートなどが含まれます。クライアントのオーバーヘッドは通常、隠れたオーバーヘッドの一種であり、短期的にはリソース請求の増加に直接つながりませんが、ビジネス プロセスのアイドル部分のリソースを利用します。ただし、ビジネスが成長を続けるか、ピーク期間 (大規模なプロモーションなど) に入ると、リンク トラッキングによって消費されるリソースの部分が最終的に実際の請求額の増加につながります。したがって、この部分の経費は、10% 以下などの合理的なレベル内で厳密に管理される必要があります。そうしないと、通常の事業運営に重大な影響を及ぼします。

リンク トラッキングのサーバー マシンのコストは、明示的かつ即時のリソース コストであり、リンク トラッキング オプション (自己構築、ホスト型) を評価する際の重要な考慮事項でもあります。 リンク トラッキングのサーバー側は、通常、ゲートウェイ、メッセージ バッファ、フロー計算、ストレージ、およびクエリ エンドで構成されます。最もよく知られ、関係があるのは、リンク ストレージ モジュールと、「テールベース サンプリング (Tail-based Sampling)」で説明されています。多くの注目記事 主な影響は、リンク トラッキング サーバーのストレージ コストです。ただし、短期間のストレージ (3 ~ 7 日など) シナリオでは、リンク データの受信、バッファリング、および処理のリソース コストがストレージのリソース コストを超えることもあります。これも無視できない重要なコンポーネントです。

さらに、見落とされやすいもう 1 つのコストは、クライアントとサーバー間のネットワーク伝送料金です。 特にパブリック ネットワーク間の送信シナリオでは、帯域幅コストが高いだけでなく、送信トラフィックも制限されるため、多くの場合、リンク データのレポート量を削減するためにヘッドベース サンプリングを有効にする必要があります。

近年、主流のオープンソース コミュニティや商用製品がエッジ クラスター ソリューションを次々と発表しています。つまり、ユーザー ネットワーク (VPC) の下に一連の観察可能なデータを統合した収集および処理クラスターを展開し、マルチソースの異種データの標準化、リンク データをサポートしています。ロスレス統計やエラースロー完全収集などの機能により、リンク データ レポートと永続ストレージのコストをさらに削減できます。全体的なアーキテクチャを次の図に示します。

リンク追跡マシンのコストの最適化

リンクトラッキングマシンのコストの構成と構造を明確にした後、次にターゲットを絞った最適化を実行する方法を分析します。ここでは、まず「各リンクデータの価値は等しいか?」、「リンクデータをできるだけ早く処理したほうがよいか、それとも遅らせたほうがよいか?」、「リンクデータの保存期間はどれくらいか」という3つの質問をします。できるだけ長く、それともできるだけ短く?」

上記の質問に答えるためには、リンク データの用途と価値が何であるかを理解する必要があります。リンク データの主な用途は 3 つあります。1 つは、特定の問題の診断と位置特定に使用される、特定の条件に従って単一のコール チェーンの詳細な追跡をフィルタリングおよびクエリすること、もう 1 つは、リンク データに基づいてリンクの事前集約を実行することです。固定ディメンションとサービス インターフェイスなどの一般的な粒度の提供、モニタリングとアラーム、3 つ目は、3S を超える VIP 顧客の低速リクエスト インターフェイスの配布など、個別のリンク分析要件を満たすために、リンクの詳細に基づいてカスタマイズされた集計を実行することです。

したがって、異なる特性を持つリンク データの価値は等しくありません。間違ったリンクや遅いリンク、または特定のサービス特性を持つリンク (総称してクリティカル リンクと呼ばれます) は、多くの場合、通常のリンクよりも価値があり、クエリされる可能性が高くなります。 。 より重要なリンクを記録し、その保存期間を長くする必要があります。通常のリンクは記録を減らし、保存期間を短縮する必要があります。さらに、統計データの正確性を確保するには、リンク データの事前集計をできるだけ早く完了する必要があります。これにより、リンク サンプリングをより早く実行できるようになり、詳細データの全体的なレポート作成と保存のコストが削減されます。 。

要約すると、  「リンク斜めサンプリング」、「リンク計算の左シフト」、「コールド ストレージとホット ストレージの分離」などの側面を検討し、 最も価値のあるリンク データをオンデマンドで最低コストで記録することを試みることができます。下図に示すように、コストとエクスペリエンスの動的なバランスと最適化を実現します。

より貴重なデータを記録するためのリンク スキュー サンプリング

リンクデータの値の分布は不均一です。不完全な統計によると、呼び出しチェーンの実際のクエリ率は、通常、100 万分の 1 未満です。つまり、100 万の呼び出しチェーンごとに、実際のクエリがヒットするのは 1 つだけで、他のほとんどすべてのリンクは無効です。保管所。ストレージとコール チェーンが完全になると、膨大なコストが浪費されるだけでなく、データ リンク全体のパフォーマンスと安定性に大きな影響を与えます。

そこで、リンク サンプリング (トレース サンプリング) の概念が生まれました。Google Dapper の論文が発表されたときと同じように、固定比率に基づくリンク サンプリングの方法が提案され、Google の内部運用システムで実際にテストされました。たとえば、1024 リンクごとに 1 つがサンプリングされて記録され、サンプリング率は 1/1024 です。ただし、固定比率サンプリングは、リンク値分布の不均一性を無視して、リンク オーバーヘッドの制御の問題を解決するだけであり、クリティカル リンクと通常のリンクがサンプリングされる確率は同じであるため、パスのクエリ結果がヒットしないことが多くなります。 、これはトラブルシューティングの効率に大きく影響します。

では、ユーザーの行動を事前に予測して、クエリされるリンクのみを記録することはできるのでしょうか? 100% 正確な予測は非常に難しく、達成することはほぼ不可能ですが、過去の動作とドメインの経験に基づいて、クエリの可能性が高いリンクを優先的に記録すること、つまりリンク スキュー サンプリングの方が現実的です。

リンク チルト サンプリングでは通常、特定のリンク特性 (障害のある、遅い、コア インターフェイスやカスタム サービスの特性など) に対して、より高いサンプリング率 (100% など) またはトラフィックしきい値 (最初の N ライン/分など) を設定します。重要な特性を満たすものは、非常に低い率 (1% など) でサンプリングされるか、サンプリングされないことさえあります。以下の図に示す Alibaba Cloud リンク トラッキングのカスタム サンプリング設定ページでは、ユーザーはニーズに応じて特徴サンプリング戦略を自由にカスタマイズできます。高いクエリ ヒット率 (50% 以上など) を確保することを前提として、リンクデータは実際に保存され、その量は元のデータ量の約 5% に達する可能性があるため、サーバー側の永続ストレージのコストが大幅に節約されます。 動的サンプリングなどのリンク サンプリング戦略については、実際の戦闘の章で詳しく紹介します。

この考え方を拡張すると、問題の診断を行う場合、通常、コール チェーンに加えて、ログ、例外スタック、時間のかかるローカル メソッド、メモリ スナップショットなどの関連情報を組み合わせて、総合的な判断を行う必要があります。各リクエストの関連情報がすべて記録されている場合、システムがクラッシュする可能性が高くなります。したがって、「リンク・オブリーク・サンプリング」の概念を参照して、無駄なデータや価値の低いデータを破棄し、異常なサイトまたは特定の条件を満たす高価値のデータを保持する、洗練されたオンデマンド・ストレージ機能は、利点と利点を測定するための重要な要素になるはずです。トレースの短所、さらには観察可能な製品も標準の 1 つです。以下の図に示すように、Alibaba Cloud ARMS 製品は、低速呼び出しのシナリオで完全なローカル メソッド スタックを自動的に保存する機能を提供します。これにより、低速呼び出しの行レベルのコードの場所を実現できます。

リンク計算を左にシフトしてデータの値を抽出します

より貴重なデータを選別して記録することに加えて、データ処理計算をサーバーからクライアントまたはエッジ クラスターに「左シフト」することもでき、事前集計や圧縮コーディングなどのデータ値の抽出を事前に完了することもできます。クエリ要件を前提として、データ転送とストレージのコストを効果的に節約できます。

  • 事前集計統計: クライアント側での事前集計の最大の利点は、データの正確性を損なうことなく、データレポートの量を大幅に削減できることです。たとえば、コール チェーンの 1% をサンプリングした後でも、正確なサービス概要、上流および下流の監視およびアラーム機能を提供できます。
  • データ圧縮: 繰り返し発生する長いテキスト (例外スタックや SQL ステートメントなど) を圧縮してエンコードすると、ネットワークのオーバーヘッドを効果的に削減できます。非キー フィールドの難読化と組み合わせると、さらに効果的に機能します。

温冷庫の分離、低コストで個別の分析ニーズに対応

リンクのサンプリングと計算の左シフトの考え方は、コスト削減の目的を達成するために、リンクの詳細データのレポートと保存を可能な限り削減することです。これら 2 つのアプローチは、一般的なシナリオでの単一リンク クエリと集計前の監視アラームに適切に対応できますが、多様化した集計後の分析要件には対応できません。たとえば、特定のビジネスでは 3 秒以上かかるインターフェイスとソースをカウントする必要があります。分散の場合、この種のパーソナライズされた集計後の分析ルールは網羅的ではありません。また、分析ルールを事前に定義できない場合は、非常に高価な完全な生データ ストレージを使用することしかできないようです。最適化の余地はないのでしょうか?次に、集計後の分析の問題、つまりホット ストレージとコールド ストレージの分離に対する低コストのソリューションを紹介します。

ホット ストレージとコールド ストレージの分離の基礎は、ユーザーのクエリ動作が時間の局所性の原則を満たすことです。 単純に理解すると、ホット データ クエリの確率が近づくほど、コールド データ クエリの確率が長くなり、低くなります。たとえば、問題診断の適時性により、リンク クエリ分析の 50% 以上が 30 分以内に行われ、7 日以降のリンク クエリは通常、間違ったコール チェーンや遅いコール チェーンに焦点を当てます。理論的基礎を確立した後、冷蔵室と温室の分離を実現する方法について説明します。

まず、ホット データには適時性があるため、直近の期間のホット データのみを記録する必要がある場合は、必要なストレージ容量が大幅に軽減されます。さらに、パブリック クラウド環境では、さまざまなユーザーのデータが自然に分離されます。したがって、ユーザー VPC 内のホット データ コンピューティングおよびストレージ ソリューションの方がコスト パフォーマンスが優れています。

第 2 に、コールド データのクエリには方向性があり、診断要件を満たすコールド データは、永続ストレージのさまざまなサンプリング戦略を通じてフィルタリングして除外できます。たとえば、間違ったサンプリングや遅いサンプリング、特定のビジネス シナリオのサンプリングなどです。コールドデータは保存期間が長く、安定性に対する要求が高いため、共有データセンターでの一元管理が検討されます。

要約すると、ホット データの保存期間は短く、コストは低いですが、リアルタイムで本格的な集計後分析のニーズを満たすことができ、正確なサンプリングによりコールド データの総量は大幅に削減されます。通常、元のデータ量の 1% ~ 10% にすぎず、ほとんどのシナリオの診断要求を満たすことができます。2 つを組み合わせることで、コストと経験のバランスの最適なソリューションが実現します。ARMS、Datadog、Lightstep など、国内外の主要な APM 製品はすべて、コールド データとホット データを分離するストレージ ソリューションを採用しています。

コールドストレージとホットストレージの分離の具体的な実装と、さまざまなストレージタイプの比較については、実践編で詳しく説明します。次の図は、Alibaba Cloud Link Tracking によって提供されるホット データの 30 分間の完全分析の概略図を示しています。

まとめ

クラウド ネイティブおよびマイクロサービス アーキテクチャの台頭により、観察可能なデータ (トレース、ログ、メトリクス) の量は爆発的な増加を示しており、ますます多くの企業が観察可能なコスト管理に注目し始めています。新しいコラボレーションパラダイム。完全なデータのレポート、保存、再分析という従来のソリューションは、ますます課題に直面することになります。オブリーク サンプリングによるより価値のあるデータの記録、計算を左にシフトすることによるデータ価値の抽出、コールド ストレージとホット ストレージの分離によるよりコスト効率の高いデータ価値探索の実現は、徐々にクラウド ネイティブ時代の主流のソリューションになるでしょう。 !

おすすめ

転載: blog.csdn.net/bruce__ray/article/details/131144201