同時監視 vs ラウンドロビン監視の説明

最終更新日:
Diagram comparing round-robin monitoring rotating through one location per cycle against concurrent monitoring checking all locations every cycle
ラウンドロビンは場所を1つずつ順番に回し、同時監視はすべての場所を毎サイクルチェックします。

8つの場所から合成チェックを設定しています。すべての場所を毎サイクル実行すべきか、それとも1つずつ順番に実行すべきか?その設定一つが地域的な障害を検出する速さと消費するチェック数を決定します。

多くの監視プラットフォームはデフォルトを選択し、その選択肢を隠します。Dotcom-Monitorはその選択肢を公開しており、2つのオプションは動作が十分に異なります。誤った選択は冗長なチェックで溢れるか、地域的な障害が1回の回転で見過ごされる結果になります。以下にラウンドロビンと同時監視の実際の動作、違い、選び方を説明します。

まず明確にしておきます。これはラウンドロビン負荷分散ではありません。ロードバランサーはラウンドロビン方式でユーザートラフィックをバックエンドサーバーに分散します。ここでのラウンドロビンは監視プラットフォームが地理的な場所に対して自身のアウトバウンドチェックをスケジュールする方法を表すものです。同じ名前ですがトラフィックの方向は逆です。

ラウンドロビンと同時監視の意味

2つの用語により残りが理解しやすくなります。監視セッションは1つの場所から行う1回のチェックの実行を指します。監視サイクルは選択したすべての場所に渡る1回の完全なパスを指します。

ラウンドロビンと同時監視はセッションをサイクルにどう分散させるかを表します。ラウンドロビンは1サイクルあたり1つの場所を実行し、次回は次の場所に回します。同時監視は毎サイクルすべての場所を実行します。これら2つのパターンの違いが検出速度、コスト、データ品質の決定要因になります。

ラウンドロビン監視の仕組み

ラウンドロビンはデフォルトで、経済的になるよう設計されています。設定した頻度でプラットフォームは1つの場所からセッションを実行し、次の間隔では次の場所、リスト全体を順に回ります。すべてのチェックがサイトが稼働中であると同意する限り、8つすべての場所を一度にテストするコストを払わずに広範囲の地理的カバレッジが得られます。

賢い点は意見不一致が発生したときです。1つの場所だけで異なる状態(エラーなど)が報告されると、ラウンドロビンは回転を停止しすべての場所からのセッションを実行します。デバイスを新規作成、編集、再起動した直後も同様で、まだ信頼できる基準値がないためです。

つまりラウンドロビンは地域的問題を見逃すわけではありません。適応的です。すべて正常な間は低コストを維持し、何か異常が見えた瞬間に完全なカバレッジにエスカレーションします。その節約の代償がタイミングであり、それが次のセクションの話題です。

同時監視の仕組み

同時監視は回転を廃止します。選択したすべての場所が前のサイクルのレポートに関係なく毎回実行されます。8つの場所を1分間隔で実行すれば毎分8回のチェックになります。

これにより各間隔で完全な地理的スナップショットが得られます。例えばフランクフルトのCDNエッジが遅くなり他の場所が速いままだと、その情報を回転でフランクフルトに達するのを待つのではなく次のサイクルで確認できます。Dotcom-Monitorでは同時監視はアドオンで有効化が必要で、チェック量が増えるためパッケージ価格が上がる可能性があります。

検出速度と監視コストのトレードオフ

この選択は場所特定の障害をどれだけ速く見つけるかとどれだけ多くのチェックを使うかのトレードオフです。

要素 ラウンドロビン 同時監視
サイクルあたりの場所数 1つ、異常時はすべてに切り替え すべて、毎サイクル
地域障害検出 最大1回転の遅延 即時
チェック量 正常時は低い 高く一定
場所別SLAデータ まばらで不均一 連続的で比較可能
コスト デフォルトに含まれる 有料アドオン
適合する用途 広範囲の稼働率カバレッジ 地理的に敏感なアプリや厳しいSLA

検出の遅延は過小評価されがちな要素です。ラウンドロビンでは1つの地域だけに影響する障害は、回転でその地域に到達するまで待つ必要があり、障害が発生してもエラーが発生して完全エスカレーションが起きるまで最大40分(8か所、5分間隔の場合)かかります。同時監視はこの差を1サイクルに縮めます。

一方でデータ面です。同時監視はすべての場所を継続的にテストするため、場所ごとに均一で比較しやすい記録を生成します。これは地域SLAの証明や遅いCDNエッジの特定に必要なものです。ラウンドロビンの記録は断片的で場所間比較が難しいです。地域別のダウンタイムコストを追跡するなら、この差は重要です。

ブラウザベースのチェックが1つずつ実行される理由

実際のブラウザチェックを設定する際に気を付ける点があります。Dotcom-Monitorには同時チェックを許可という設定があり、全場所の実行を同時に開始するか順番に行うかを制御します。HTTPベースのチェック(ServerViewとWebView)はデフォルトでオンで、各リクエストはステートレスで独立しているため同時実行が安全です。ブラウザベースのチェック(BrowserViewとUserView)はオフで変更できません。

理由はステート(状態)です。多くのウェブアプリはログインセッションを一組の資格情報に結び付けています。別の場所からログインすると最初のセッションは切断されます。5か所から多段階EveryStep トランザクションを同時に実行すると互いに干渉し合い、実際のアプリ状態に関係ない誤検知が発生します。

共有ステートは並列アクセスで壊れます。カート、予約記録、在庫数などが5つの同時セッションで更新されると、単一ユーザーが見る結果と異なる結果が返ります。

したがって同時監視であってもブラウザベースのセッションは設計上順次実行されます。毎サイクルすべての場所が実行される点は変わりませんが、瞬時に同時実行されず、資格情報の競合や共有テストデータによる結果の汚染を防止しています。

ラウンドロビンが適切なデフォルトの場合

ラウンドロビンはその控えめな評判よりも適切な場面が多いです。次の場合に選択してください:

  • 広範囲の稼働率カバレッジを実行している場合。マーケティングサイトやブログなど、単一のオリジンから配信されるものはどの場所でも同じ動作をします。場所を回すことでグローバルにアクセス可能であることを確認でき、全ての場所を毎分テストするコストを節約します。
  • コンテンツが地理的に均質な場合。CDNルーティングや地域的インフラを検証する必要がない場合、すべての場所は同じ内容をテストしているため、同時監視の追加チェックは新たな情報をほとんどもたらしません。
  • 予算が限られ、SLAが地域別ではなくグローバルの場合。ラウンドロビンのエスカレーションは障害を確実に検出しますが、検出時間の遅れとチェック数の大幅な削減をトレードオフとします。

例えば10地域で公開稼働率ページを監視するSaaS企業を想像してください。ページ内容は地域ごとに変わりません。ラウンドロビンはグローバルに安定した監視を続け、最初の地域障害が自動的に全場所検査にエスカレーションされます。これが設計通りの動作です。

同時監視が費用に見合う場合

地理的要素がテスト対象に含まれる場合や、数分の遅れが大きなコストになる状況で同時監視は費用対効果があります。次のような場合に有効にしてください:

  • CDNや地理ルーティングを経由してコンテンツを提供している。エッジの性能は地域によって異なり、一つのPOPに障害があってもその地域をテストしなければ発見できません。同時監視はすべてのエッジを毎サイクル監視します。
  • 地域ごとのSLAを保持している。3つの地域で99.9%のSLAを証明するには、連続的で比較可能な場所別データが必要で、ラウンドロビンの不均一なサンプルでは不足します。
  • チェックアウトやログイン経路が収益を左右する。ECサイトのチェックアウトで、地域障害が半回転の間見逃されると注文の損失につながります。即時検出は追加料金の価値があります。

例えば6地域からのトランザクションチェックを行う小売業者がセール中に支払いゲートウェイの障害がヨーロッパ限定で発生した場合、回転でヨーロッパに到達するのを待つのではなく秒単位で検出する必要があります。同時監視と迅速な監視アラートがそれを実現します。

まとめ

ラウンドロビンは経済的なデフォルトで、サイクルあたり1つの場所を実行し、チェック結果に異常があれば瞬時に全場所にエスカレーションします。広範囲で地理的に均質な稼働率カバレッジに適合します。同時監視は毎サイクルすべての場所をテストし、即時の地域障害検出とクリーンな場所別データを提供しますが、チェック数と追加料金がかかります。CDN配信アプリや地域SLA、遅延が高コストの収益経路に適合します。

実際にテストしているものに沿ったパターンを選択しましょう。地理的差異が結果に影響するなら同時監視を、そうでないならラウンドロビンが既に適切にカバーしています。いずれにせよ、複数場所からの監視を正しく行うには、チェックのスケジューリング方法を理解することが出発点です。

あなたの地域から動作を見てみる

グローバルネットワークを横断するリアルブラウザ合成監視を設定し、自身のサイトでラウンドロビンと同時監視の動作を確認しましょう。無料トライアルを開始

よくある質問

ラウンドロビン監視はラウンドロビン負荷分散と同じですか?
いいえ。ロードバランシングのラウンドロビンは、受信ユーザートラフィックをバックエンドサーバー間で分散させます。モニタリングのラウンドロビンは、合成チェックを1サイクルごとに1か所ずつローテーションさせ、サイトが稼働していることを確認しますが、毎回すべての場所をテストするわけではありません。
同時監視は障害をより早く検出しますか?
場所に特有の問題の場合は、はい。すべてのサイクルで各場所を同時にチェックするため、地域的な障害は次の間隔で表示されます。ラウンドロビンは、単一のチェックでエラーが返された場合のみすべての場所にエスカレーションするため、最大で1回の完全な回転分の遅延が生じる可能性があります。
なぜブラウザベースのチェックは一度に一つの場所で実行されるのですか?
多くのウェブアプリはセッションを1つの認証情報セットやカートや予約記録のような共有状態に結び付けています。複数の場所から同時にブラウザセッションを実行すると互いにログアウトさせたりテストデータを破損させたりする可能性があるため、UserViewのチェックは順次実行されます。
同時モニタリングはより高価ですか?
通常です。これは、すべてのサイクルで各ロケーションごとに実行されるアドオンで、チェックの量を増やし、パッケージ価格を引き上げることができます。高速な地域検出やクリーンなロケーション別SLAデータが追加のチェックを正当化する場合にオンにしてください。
Matthew Schmitz
About the Author
Matthew Schmitz
Dotcom-Monitor 負荷テストおよびパフォーマンステスト担当ディレクター

Dotcom-Monitor の負荷テストおよびパフォーマンステスト担当ディレクターとして、Matt は現在、優秀なエンジニアや開発者のチームを率い、最も要求の厳しいエンタープライズニーズに対応する最先端の負荷テストおよびパフォーマンステストソリューションの開発に取り組んでいます。

Latest Web Performance Articles​

Dotcom-Monitorを無料で開始する

クレジットカード不要