RPCの遅延を削減:ノードの応答時間に影響を与える要因 |Quicknode🤖 新着:Quicknode AIクックブック AIプログラミングの10の実証済みレシピ エージェント.
レシピを見る SOC 2 タイプ II 認証取得・ISO 27001
回答>RPCとAPIについて学ぶ>RPCのレイテンシとは? // Tags
RPCのレイテンシブロックチェーン レイテンシAPIの応答時間
要約:RPCレイテンシとは、 アプリケーションがブロックチェーン ノードにリクエストを送信し、レスポンスを受け取るまでに要する時間のことです。 これはミリ秒単位で測定され、ユーザー において、dappの動作がどれほど速く感じられるかに直接影響します。 レイテンシが高いと、残高の更新が遅れたり、トランザクションの確認が遅れたり、取引 の機会を逃したりすることになります。レイテンシが低いと、応答性が高く、リアルタイムな体験が得られます。RPCレイテンシは、ネットワーク距離、ノードのパフォーマンス、リクエストの複雑さ、およびインフラプロバイダーの品質によって左右されます。
わかりやすい説明
アプリケーションがブロックチェーン とやり取りするたびに、クエリを送信してから回答を受け取るまでに遅延が生じます。この遅延がレイテンシです。ユーザー がウォレットアプリを開き、残高を確認するまで0.5秒待つ場合、その待ち時間は主にRPCレイテンシによるものです。取引 のボットがスワップ取引を送信し、ノードがそれを受け入れたという確認を受け取るまでに200ミリ秒かかる場合、その200msがレイテンシとなります。 この数値は小さく聞こえるかもしれませんが、ブロックチェーン アプリケーション、特にDeFi、ゲーム、取引 においては、こうしたミリ秒単位の遅延が積み重なり、ユーザー のユーザー体験や経済的な結果に実質的な差をもたらします。
レイテンシは単一の数値ではありません。これは、DNS解決( エンドポイントIPアドレスの検索)、TCP接続の確立、TLSハンドシェイク(接続の暗号化)、リクエストの送信、ノードでの処理時間、レスポンスの送信、およびレスポンスの解析。各ステップで時間が加算されます。 同じ地理的地域にあるノードへのリクエストは、20~50ミリ秒で完了する場合があります。地球の反対側にあるノードへのリクエストは、200~400ミリ秒かかる場合があります。過負荷状態にあるノードやメンテナンスが不十分なノードへの同じリクエストは、数秒かかるか、あるいはタイムアウトしてしまうこともあります。
なぜレイテンシーは想像以上に重要なのか
ユーザー 向けのアプリケーションにおいて、レイテンシは体感パフォーマンスに最も大きな影響を与える要因です。Webアプリケーションに関するさまざまな調査では、ユーザー が100ミリ秒を超える遅延を感知し、1秒を超えると操作を中断し始めることが一貫して示されています。ブロックチェーン アプリケーションも例外ではありません。RPCプロバイダーの処理が遅いため残高照会に2秒かかってしまうと、ユーザー は、その背後にあるインフラストラクチャの遅延ではなく、アプリ自体が故障していると判断してしまいます。
DeFi取引 やアービトラージにおいて、レイテンシは収益性に直結します。2つの流動性プール間で価格の乖離が生じた場合、最初に取引を成立させたボットが利益を獲得します。RPCの応答時間に50ミリ秒の差があるだけで、競合他社よりも先に取引が処理されるかどうかが決まってしまいます。そのため、プロの取引 チーム はインフラのレイテンシに細心の注意を払い、バリデーターに地理的に近い専用エンドポイントを頻繁に利用しています。
データの整合性を確保する上で、レイテンシはブロックチェーン の実際の状態と、アプリケーションに表示される内容との間にギャップを生じさせます。Solana では、ブロックが400msごとに生成されますが、平均レイテンシが500msのRPCプロバイダーを使用している場合、アプリケーションは常にチェーンの先端より少なくとも1ブロック遅れていることになります。Ethereum にある、Arbitrum やBase といった、250msごとにブロックを生成するL2ネットワークにおいても、同様の問題が発生します。Quicknode では、RPCの応答時間をチェーンのブロック生成レートと比較する「Latency Freshness Score」という指標が導入され、開発者 を通じて、データが実際にリアルタイムにどれだけ近いかを正確に測定できるようになりました。
RPCのレイテンシを決定する要因
地理的な距離が最も基本的な要因です。データは光ファイバーケーブルを光速の約3分の2の速度で伝送されるため、ニューヨークとシンガポール間の往復には、ソフトウェアによる最適化では解消できない、純粋に物理的な要因による約160ミリ秒の遅延が生じます。アプリケーションサーバー(またはユーザー )に地理的に近いノードに接続することは、レイテンシを低減するために実施できる最も効果的な対策です。
2つ目の要因は、ノードのパフォーマンスと負荷です。数千件もの同時リクエストを処理しているノード、ブロックの同期に遅れをとっているノード、あるいは性能の低いハードウェア上で動作しているノードは、適切にプロビジョニングされ、負荷の軽いノードに比べて応答が遅くなります。これがパブリックRPCエンドポイントの根本的な問題です。これらはby 数千のユーザー と共有されているため、応答時間が予測不可能であり、トラフィックが急増するとパフォーマンスが低下します。
リクエストの複雑さも重要な要素です。単純な「eth_blockNumber」呼び出しは、ほとんど計算を必要とせず、ごくわずかな応答を返します。一方、「debug_traceTransaction」呼び出しでは、ノードがトランザクション全体を再実行し、詳細な実行トレースを返す必要があり、これには数百ミリ秒以上かかる場合があります。 数千ブロックに及ぶ「eth_getLogs」クエリの場合、ノードは膨大な量のデータをスキャンする必要があります。RPC呼び出しの計算負荷を把握することで、適切な期待値を設定し、リクエストパターンを最適化することができます。
プロバイダーのインフラストラクチャアーキテクチャが最後の要因となります。インテリジェントなリクエストルーティング、接続プール、結果キャッシュclusters 、グローバルに分散されたclusters 運用するプロバイダーは、単一のデータセンターでノードを稼働させるプロバイダーよりも、低遅延かつ安定したレイテンシを実現します。また、マルチリージョンアーキテクチャは耐障害性も提供します。あるリージョンで問題が発生した場合、トラフィックは自動的に次に近い正常なリージョンへと迂回されます。
RPCのレイテンシはどれくらいが適切ですか?
適切なレイテンシの目標値は、サービスを提供しているチェーンや、ユーザー がどこにあるかによって異なります。有用なベンチマークは、絶対的なミリ秒単位の数値ではなく、レスポンス時間がそのチェーンのブロック生成レートと比べてどの程度であるかです。もしレスポンスがチェーンのブロック生成速度よりも遅い場合、データは常に少なくとも1ブロック分遅れた状態になってしまいます。以下の表は、リアルタイムの応答性を実現するための実用的な目標値を示しています。
文脈 | ブロック時間 | リアルタイム処理におけるレイテンシ目標値 |
|---|
Solana | 約400ミリ秒のスロット | 100ミリ秒未満 |
Ethereum (Base、Arbitrum) | 約250ミリ秒 | 100ミリ秒未満 |
Ethereum | 約12秒 | 250ミリ秒未満 |
同一地域からのリクエスト | 該当なし | 20~50ミリ秒 |
世界規模のリクエスト | 該当なし | 200~400ミリ秒 |
経験則として、ユーザー は100ミリ秒を超える遅延を感知するため、一般的なRPCの応答時間をこの基準以下に抑えておけば、即座に処理されたように感じられます。これらの数値の背景にある呼び出しの仕組みを理解するには、RPCリクエストの仕組みと RPCの役割について、 エンドポイント を参照してください。
レイテンシとスループットの違いは何ですか?
レイテンシとスループットはしばしば混同されますが、これらは異なるものを測定する指標です。レイテンシとは、1つのリクエストが送信されてから応答が返ってくるまでの時間を指します。一方、スループットとは、システムが単位時間あたりに処理できるリクエストの数を指します。プロバイダーによっては、レイテンシは低いもののスループットが限られている場合や、スループットは高いものの負荷がかかるとレイテンシが不安定になる場合があります。どちらも重要であり、一方を最適化しても、もう一方が自動的に改善されるわけではありません。
アスペクト | レイテンシー | Throughput |
|---|
対策 | お願いをひとつ | 1秒あたりの処理リクエスト数 |
単位 | ミリ秒 | 1秒あたりのリクエスト数 |
~のように感じた | アプリの反応の良さはどの程度か | どの程度の荷重に耐えられるか |
傷つけられた | 距離とノード負荷 | 容量制限および料金上限 |
このトレードオフについてより詳しく知りたい場合は、「スループット対レイテンシ」を参照してください。リクエスト数が多すぎると、RPCのレート制限がトリガーされることもあり、これによりリトライやキューイングが発生し、実質的なレイテンシの増加につながります。
RPCの遅延をどのように軽減できますか?
最大の効果は、距離の短縮と負荷の軽減から得られます。ユーザー に地理的に近いノードに接続し、自動ルーティング機能を備えたマルチリージョン対応のプロバイダーを利用し、接続を再利用することで、DNS、TCP、TLSのセットアップコストの繰り返しを回避しましょう。負荷の高い呼び出しはバッチ処理するか簡略化し、頻繁なポーリングループをプッシュ型配信に置き換えることで、同じデータに対してリクエストの遅延コストを繰り返し支払うことを防ぎます。ポーリングよりもストリーミングを選択し、信頼性の高いノードに依存し、フェイルオーバーパスを確保することで、たとえ1つの経路のパフォーマンスが低下した場合でも、レイテンシを低く、かつ安定した状態に保つことができます。
よくある質問
RPCのレイテンシは、ブロックの確認時間と同じものですか?
いいえ。RPCのレイテンシとは、ノードにクエリを送信して応答を受け取るまでの往復時間を指し、ミリ秒単位で測定されます。ブロックの確認時間とは、チェーンがトランザクションをブロックに組み込み、確定させるまでに要する時間で、これはby プロトコルによって規定されています。RPCの処理が高速であっても エンドポイント であっても、チェーンがブロック時間を上回る速度でブロックを確定させることはできません。
なぜ私のRPCは エンドポイント 動作が遅いのでしょうか?
最も一般的な原因としては、ノードまでの地理的な距離、負荷が高すぎるノードやリソースが不足しているノード、およびトレースや大規模なログクエリといったリソースを大量に消費するリクエストタイプが挙げられます。by やユーザー で共有されているパブリックエンドポイントは、トラフィックが急増した際に、予測不能で急激なレイテンシの変動が生じやすい傾向があります。
レイテンシーはDeFiの取引 に影響を与えますか?
はい、直接関係します。アービトラージの機会が生じた際、最初に成立した取引が利益を獲得することになります。そのため、RPCの応答時間にわずか50ミリ秒の差があるだけでも、競合他社よりも先に自分の取引が処理されるかどうかが決まってしまうのです。
RPCのレイテンシはどのように測定されるのですか?
これは、リクエストの送信からレスポンスの受信までの経過時間であり、DNS解決、接続確立、TLSハンドシェイク、伝送、ノード処理、およびレスポンスの解析の各工程を合計したものです。チーム では通常、単一の平均値ではなく、p50やp99といったレイテンシのパーセンタイルを追跡します。
低レイテンシは、最新のデータであることを意味するのでしょうか?
それだけでは不十分です。ブロック同期が遅れている高速な エンドポイント がブロックの同期に遅れをとっていると、すぐに古い結果を返す可能性があります。リアルタイムの鮮度を確保するには、低遅延であることに加え、チェーンの先端と密接に同期しているノードが必要です。そのため、応答時間はブロック生成レートと比較すべきです。
Quicknode 低遅延Quicknode 仕組み
Quicknodeのインフラストラクチャは、低遅延のブロックチェーン データアクセスに特化して設計されています。 このプラットフォームは、5社以上のクラウドおよびベアメタルプロバイダーにまたがる14以上のリージョンをカバーするグローバルに分散されたネットワークを運用しており、アプリケーションやユーザー がどこに位置していても、リクエストが利用可能な最寄りのノードにルーティングされることを保証します。このアーキテクチャは、by QuickLee(Quicknode )が提供するオープンソースのRPCベンチマークツールによる測定結果によると、競合他社と比較して平均で2.5倍速い応答時間を実現しています。このツールは、複数のチェーンやリージョンにわたるリアルタイムかつ透明性の高いレイテンシデータを提供します。
Quicknode 、サポート対象のすべてのチェーンにおいて高いブロック高の最新性をQuicknode 、そのノードは常に最新のブロックと緊密に同期されています。これは、先端からわずか数ブロック遅れるだけでデータの鮮度が低下してしまうような、動きの速いチェーンにとって極めて重要です。このインフラストラクチャはトラフィックの需要に応じて自動スケーリングを行い、自動フェイルオーバー機能も備えているため、トラフィックが急増した場合でも遅延は一定に保たれます。
最も厳しいレイテンシ要件が求められるアプリケーション向けに、Quicknode 「DedicatedClustersは、他のお客様とのトラフィック共有が一切ない、隔離されたプライベートインフラストラクチャを提供します。「DedicatedClusters 「ノイジー・ネイバー」問題を完全にClusters 、常に予測可能な低レイテンシのパフォーマンスを実現します。Solana に関しては、QuicknodeYellowstone gRPC エンドポイントは、データのシリアライズにJSONの代わりにProtocol Buffersを採用しており、ペイロードサイズと解析時間を削減することで、高頻度なユースケースにおいて可能な限り低いレイテンシを実現します。
参考資料