遅延とは、システムで生じる遅れの測定値のことです。データがネットワーク上のあるポイントから別のポイントに移動する際にかかる時間を、ネットワーク遅延といいます。高遅延のネットワークでは応答時間が長くなり、低遅延のネットワークでは応答時間が短くなります。
原理的には、データは光速に近い速度でインターネットを通過するはずですが、実際には、距離やインターネット・インフラ、データ・パケットのサイズ、ネットワークの輻輳、その他の変数によって生じる遅延のため、データ・パケットはわずかに遅い速度でインターネット上を移動します1。こうした時間的な遅れの合計が、ネットワークの遅延の原因です。
以下によって、組織は遅延を削減し、生産性とユーザー・エクスペリエンスを向上させることができます。
低遅延のネットワークを維持することは重要です。遅延は生産性を始め、コラボレーションやアプリケーションのパフォーマンス、そしてユーザー・エクスペリエンスに直接影響するからです。遅延が大きいほど(応答時間が長いほど)、そうした要素への影響度は大きくなります。企業がデジタル・トランスフォーメーションを追求し、モノのインターネット内のクラウド・ベースのアプリケーションやサービスへの依存度が高まるにつれて、低遅延は特に重要になります。
わかりやすい例から始めましょう。高遅延のネットワークのためにアプリケーションのパフォーマンスが低下したり、読み込み時間が長くなったりすると、お客様が代わりのソリューションを検討する可能性が高くなります。個人ユーザーも企業ユーザーも、これまで以上に超高速のパフォーマンスを期待しているからです。組織がさまざまなソースから取得したリアルタイム・データを利用してリソースを推奨するエンタープライズ・アプリケーションを使用している場合、高遅延が非効率の原因になる可能性があります。こうした非効率があると、アプリケーションのパフォーマンスと価値に悪影響を及ぼしかねません。
あらゆる企業が、低遅延を求めています。しかし、センサー・データやハイパフォーマンス・コンピューティングに依存する業種・業務やユースケース、例えば自動化された製造、ビデオ対応のリモート・オペレーション(手術で使用されるカメラなど)、ライブ・ストリーミング、高頻度取引などでは、低遅延が業務の成功に不可欠です。
高遅延が無駄な支出の原因になることもあります。組織がコンピューティング、ストレージ、ネットワーク・リソースの支出を増やすか再割り当てすることでアプリケーションとネットワークのパフォーマンスを向上させたいとします。既存の遅延の問題に対処できなかった場合、組織はパフォーマンス、生産性、顧客満足度の向上を実感できないまま、最終的に高額な請求を支払うことになる可能性があります。
ネットワーク遅延は、ソース・システムで送信オペレーションが開始される時点から、ターゲット・システムでそれに対応する受信オペレーションが完了する時点までの時間間隔を計算することによって、ミリ秒単位で測定されます2。
遅延を測定する簡単な方法のひとつが、「ping」コマンドを実行することです。これは、2つのデバイスまたはサーバーの間で接続をテストする際に使用されるネットワーク診断ツールです。その速度テストでは、遅延をping速度と呼ぶことも少なくありません。
このテストでは、インターネット制御メッセージ・プロトコル(ICMP)のエコー要求パケットがターゲット・サーバーに送信され、返されます。pingコマンドは、パケットが送信元から送信先まで動き、再び戻ってくるまでの時間を計算します。この移動時間合計がラウンドトリップ時間(RTT) と呼ばれるものです。データはサーバーとの間を往復する必要があるので、RTTは遅延のおよそ2倍に当たります。pingは、遅延を測定する厳密な方法と見なされているわけでも、方向性のあるネットワーク遅延の問題を検知するのに理想的なテストと考えられているわけでもありません。データがさまざまなネットワーク・パスを経由し、その経路の区間ごとに発生する条件が一定でないため、限界があると考えられているからです。
遅延と帯域幅とスループットは関連しており、ときには同義語として混同されることもありますが、実際にはまったく異なるネットワーク機能を指す言葉です。前述したように、遅延とは、データ・パケットがネットワーク接続上で2つのポイント間を移動する際にかかる時間です。
帯域幅とは、任意の時点でネットワークを通過できるデータの量を表す尺度です。メガビット/秒(mbps)あるいはギガビット/秒(gbps)など、1秒あたりのデータ単位で測定されます。帯域幅は、自宅の接続オプションを選択する際にサービス・プロバイダーから聞き慣れているものです。帯域幅は速度ではなく容量の尺度なので、ここに大きな混乱の原因があります。帯域幅が高ければ高速インターネットが実現しますが、その機能は遅延やスループットなどの要素によっても変わってくるのです。
スループットとは、遅延の影響を考慮したうえで、特定の時間枠内に実際にネットワークを通過するデータ量の平均を測定した値です。正常に着信したデータ・パケットの数とデータ・パケット損失の量が反映されます。通常はビット/秒、場合によってはデータ/秒の単位で測定されます。
ネットワーク・パフォーマンスを決めるもうひとつの要因がジッターです。ジッターとは、ネットワークにおけるパケット・フローの遅延の変動を指します。一定した遅延のあるほうが、ジッターが高いより望ましい状態です。ジッターが高いと、パケット損失、つまり送信中に欠落したまま、送信先にデータ・パケットが到達しない原因となることがあるからです。
遅延・帯域幅・スループットの関係については、単純ながら便利な覚え方があります。帯域幅はネットワーク上を移動できるデータの量、スループットは1秒あたりに実際に転送される量の測定値、遅延はそのためにかかる時間、ということです。
データがクライアントからサーバーへ、そしてサーバーからクライアントへ移動する過程を視覚化すると、遅延とその原因となる各種の要因を理解しやすいでしょう。ネットワーク遅延の一般的な原因は次のような点です。
簡単にいうと、リクエストを開始するクライアントと、応答するサーバーとの間の距離が長いほど、遅延が大きくなります。シカゴにあるサーバーとニューヨークにあるサーバーが、それぞれロサンゼルスのユーザー・リクエストに応答する場合の違いは、ほんの数ミリ秒です。ただしこの場合は、その値が大きな問題であり、わずか数ミリ秒が積もり積もっていきます。
次に、データが移動する媒体について考えてみよう。光ファイバー・ケーブルのネットワーク(一般的に低遅延)でしょうか、それともワイヤレス・ネットワーク(一般的に高遅延)でしょうか。あるいは、よくあるように複数の媒体が介在する複雑なネットワーク網でしょうか。
データ伝送に使用されるメディアは、遅延に影響します。あるネットワーク・セグメントから次のネットワーク・セグメントへと移動し、宛先に到達するまでに、データがルーターなどのネットワーク・デバイスを通過する回数(ネットワーク・ホップ)も同様です。ホップ数が増えるほど、遅延が大きくなります。
データ・パケットのサイズと、ネットワーク上の総合的なデータ量のどちらも遅延に影響します。パケットが大きいと送信に時間がかかり、データ量がネットワーク・インフラの計算能力を上回ると、ボトルネックや待ち時間の増加が起こりやすくなる。
サーバーやルーター、ハブ、スイッチその他のネットワーク機器が古くなったり、リソースが不十分だったりすると、応答が遅くなる可能性があります。例えば、サーバーが処理できる量を超えるデータを受信している場合、パケットが遅延し、ページの読み込みやダウンロード速度、アプリケーションのパフォーマンスが低下します。
ファイル・サイズが大きい画像や動画などのページ・アセットやレンダリングを妨げるリソース、ソースコードに含まれる不要な文字などはすべて高遅延の原因となる可能性があります。
ときには、帯域幅の不足やインターネット接続の不備、設備の古さなどのユーザー側の要因のために遅延が発生することもあります。
ネットワーク遅延を短縮するために、組織は次のネットワーク評価から始めることができます。
-データが、最短で最も効率的なルートを移動しているか
-アプリケーションには、最適なパフォーマンスの実現に必要なリソースがあるか
- ネットワーク・インフラは最新で業務に適しているか
まず、距離の問題から始めましょう。ユーザーはどこにいますか。また、ユーザーのリクエストに応答するサーバーの所在地はどこでしょうか。サーバーとデータベースをユーザーの近くに地理的に分散することで、組織はデータが移動する物理的な距離を短縮し、非効率的なルーティングとネットワーク・ホップを削減できます。
データをグローバルに配信する方法のひとつが、コンテンツ配信ネットワーク(CDN)を使用することです。分散サーバーのネットワークを使用すると、組織はエンド・ユーザーの近くにコンテンツを保存でき、データ・パケットが移動する必要がある距離を短縮できます。しかし、組織がキャッシュされたコンテンツの提供を超えて移行したい場合はどうでしょうか。
エッジコンピューティングは、組織がクラウド環境をコア・データセンターからユーザーやデータに近い物理的な場所に拡張できるようにする便利な戦略です。エッジコンピューティングを通じて、組織はアプリケーションをエンドユーザーの近くで実行し、遅延を減らすことができます。
サブネットとは基本的に、ネットワーク内の小規模なネットワークのことです。サブネット化すると、頻繁に相互で通信する複数のエンドポイントがグループ化され、非効率的なルーティングが減って遅延が小さくなります。
従来の監視ツールは、今日の複雑な環境におけるパフォーマンスの問題を事前に発見し、その状況を把握できるほど高速でも万全でもありませんでした。問題を先取りするために、組織はリアルタイムのエンドツーエンドの可観測性と依存関係マッピングを提供する高度なソリューションを使用できます。こうした機能を使うと、チームがネットワーク遅延の原因となるアプリケーション・パフォーマンスの問題を適格に特定し、その状況を把握したうえで対処し、防止できるようになります。
適切なコンピュートとストレージ、ネットワーク・リソースがないと、遅延が大きくなり、パフォーマンスが低下します。この問題をオーバープロビジョニングによって解決しようとするのは非効率的で無駄も多く、今日の複雑なインフラストラクチャーで動的な需要とリソースを手作業で一致させようとしても、それは不可能です。
リソース使用率とアプリケーションおよびインフラストラクチャー・コンポーネントのパフォーマンスをリアルタイムで継続的に分析するアプリケーション・リソース管理(ARM)ソリューションは、リソースの問題を解決し、遅延を短縮するのに役立ちます。
例えば、サーバー上のリソース競合により、ARMプラットフォームが高遅延のアプリケーションを検出した場合、アプリケーションに必要なリソースを自動的に割り当てたり、混雑していないサーバーに移動させたりすることができます。このような自動化されたアクションは、待ち時間の短縮とパフォーマンスの向上に役立ちます。
pingコマンドなどのテストでも、ネットワーク遅延を簡単に測定することはできますが、問題を的確に特定するには不十分であり、ましてやその問題に対処することはできません。組織は、チームがネットワーク・パフォーマンスの問題を発見、対処、防止し、遅延を減らすのに役立つ統合プラットフォームを提供するネットワーク・パフォーマンス管理ソリューションを使用できます。
ITチームは、最新のハードウェア、ソフトウェア、ネットワーク構成を使用していることと、組織のインフラストラクチャーが現在の要求に対応できることを確認できます。定期的なネットワーク・チェックとメンテナンスを実施することで、パフォーマンスの問題や遅延を減らすこともできます。
開発者は、動画や画像、その他のページ資産をより速く読み込めるように最適化したり、コードを最小化したりするなどして、ページ作成が待ち時間を増やさないようにする措置を取ることができる。
IBM Cloud Pak for Network Automationは、ネットワーク・インフラストラクチャー運用の自動化とオーケストレーションを可能にするクラウド・パックです。
IBMのクラウド・ネットワーキング・ソリューションは、アプリケーションとビジネスを強化する高性能な接続を可能にします。
クラウド・ネットワーキングなどにおけるデータセンター・サポートをIBM Technology Lifecycle Servicesで統合しましょう。
1“Internet at the Speed of Light”, Yale.edu, 3 May 2022.
2"Effect of the network on performance"、ibm.com、2021年3月3日