低レイテンシRPCインフラの構築方法
著者: Alchemy

ウォレットはユーザーの残高を読み込む。トレーディングアプリはスワップ前にgasを見積もる。インデクサーは数か月分の履歴を一度の処理で取り込む。これらの動作はすべてRPC呼び出しであり、その遅延の1ミリ秒ごとを、画面の前で待つ実際のユーザーが感じている。
RPCのレイテンシは単一の原因で起きるものではないため、単一の対策では解決できない。原因はリクエストパスのオーバーヘッド、避けられるはずの内部ネットワーク通信、非効率なルーティング、急激なトラフィックスパイク、チェーンおよびノードの運用上の遅れ、ワークロード固有のボトルネック、そして不完全な計測など多岐にわたる。ひとつを直しても残りを放置すれば、ボトルネックが移動するだけだ。そこで私たちはレイテンシをシステムの問題として扱い、私たちが制御できるあらゆるレイヤーに投資を行い、サポートする100以上のチェーン全体で99.99%の稼働率と平均50ms以下のレスポンスタイムを基準として維持している。
私たちが構築したもの
Alchemy Edge Proxyがリクエストパスのオーバーヘッドを削減する
エッジとは正面玄関、つまりリクエストが最初に触れるAlchemy管理下のエントリポイントだ。呼び出しがどのノードに到達する前にも、接続の確立、TLSネゴシエーション、認証、ルーティングロジックを通過する。各ステップがミリ秒単位の時間を加算し、そのミリ秒はテール、つまりユーザーが実際に体感する最も遅いリクエストにおいて最も積み重なる。
Alchemy Edge Proxyは、このオーバーヘッドをリクエストパスから取り除くために構築したレイヤーだ。接続の再利用、認証、ルーティングの判断をスタックの奥深くではなく正面玄関で処理することで、すべてのリクエストが支払う固定コストを削減する。結果として、テールにおけるRPCが最大7.5倍高速化する。詳しくはAlchemy Edge Proxyを参照してほしい。
内部では、エッジはCortexの一部であるマイクロカーネル型のプロキシアーキテクチャ上で動作している。小さく安定したコアがクリティカルなリクエストパスを担い、認証、レート制限、ルーティングといったモジュールは独立して更新される。エッジは私たちがエンドツーエンドで制御するクリティカルなインフラレイヤーのひとつであるため、他社のネットワークの都合を待つことなく改善を続けられる。
インフラ内部:近接配置、賢いルーティング、安定したスループット
リクエストがインフラの内部に入った後も、距離とハードウェアは依然として時間のコストになる。呼び出しを処理するサービス同士が離れた場所にあれば、実際の処理が始まる前に、それらの間を移動するだけでミリ秒単位の時間が費やされる。そして、トラフィック量が増えると、共有ハードウェアは不安定なレイテンシとして表れる類のばらつきを加える。
ここで力を発揮するのが、AlchemyのインテリジェントなブロックチェーンエンジンであるCortexだ。Cortexは私たちの低レイテンシの数値を支える中核的なインフラ投資であり、そのうちいくつかの要素がここで特に重要になる。
- Kubernetesのアフィニティを用いたPodのコロケーションにより、互いに最も頻繁にやり取りするサービス同士を同一マシンに配置し、リクエストがラックをまたいで移動するのではなくローカルに留まるようにする。
- Istioのロケーション認識ルーティングは、内部トラフィックを最も近くにある利用可能なサービスインスタンスへ送り、それが実際に有効な場合にインフラ経路を短縮する。
- グローバルに展開された数千台のベアメタルサーバーが仮想化オーバーヘッドなしで専用ハードウェア上で直接動作し、高負荷下でもスループットが一貫して保たれる。
- Javaのバーチャルスレッドにより、1台のマシンが従来のスレッドのようなメモリおよびCPUのコストを払うことなく、はるかに多くの同時リクエストを処理できる。これが、レイテンシを悪化させることなく急増するトラフィックを吸収する仕組みだ。
これらが合わさることで、ユーザーが普段意識することはないが常に体感している移動時間を削減し、トラフィック量が増えてもパフォーマンスを安定させている。
予測的スケーリングがスパイク前にキャパシティを準備する
オンチェーンのトラフィックは穏やかには増えない。ローンチ、ミント、あるいは市場イベントによって負荷が数秒で何倍にも膨らむことがあり、スパイクの後に到着するキャパシティは、到着が遅すぎたキャパシティだ。
私たちの予測的スケーリングのロジックは、需要に反応するのではなく、需要に先立ってキャパシティを準備する。CPU、メモリ、ディスクI/O、トラフィックパターンといったシグナルを監視し、スパイクが到達する前にプロビジョニングを行う。Usualの事例がその証明だ。彼らはピーク時に毎秒30,000リクエストに達し、最初の1時間で3,800万リクエストを処理し、36時間で10億リクエストを超えたが、この急増の中でもレイテンシは崩れなかった。
"Alchemy was able to give us a near perfect availability, serving massive amounts of requests per second (30k requests per seconds was our peak, and we still had buffer), without any hiccups or downtime. And all on short notice!"
Adli Takkal-Bataille at Usual
AI管理のフリート自動化がノード運用を常に最新に保つ
ブロックチェーンは足元で常に変化し続けている。クライアントはアップデートをリリースし、ネットワークはハードフォークをスケジュールする。古いソフトウェアを動かしているノードは、遅い、あるいは誤った応答を返すノードだ。これを手作業で対応すれば、まさに精度が最も求められる場面で遅延とリスクが生じる。
私たちのノードフリートは、アップグレード、テスト、モニタリングを処理する完全自動化されたエージェント型システムによって管理されている。アップデートはリアルタイムで検知・適用され、パイプラインには自動テストが組み込まれているため、必須のネットワークアップグレードやハードフォークが見逃されることはない。私たちが運用するすべてのチェーンでこれを手作業で行い続けることは不可能だ。だからこそ私たちはこれを自動化し、一部のお気に入りのチェーンだけでなく100以上のチェーン全体で同じ低レイテンシの基準を維持している。この自動化は、Alchemyプラットフォームを支えるインテリジェントなブロックチェーンエンジンであるCortexの一部であり、RPC API、データAPI、ロールアップ、そのほかの開発者向けスタック全体を支えている。
プロダクト固有の最適化がユーザーフロー全体を改善する
レイテンシは単一の呼び出しだけの問題ではない。実際のプロダクトは複数の呼び出しを連鎖させ、そのフローは最も遅いリンクの速さでしか進まない。ユーザーが実際に感じているのは全体の経路であり、単一のメソッドではない。
Tools for Humanityが構築し、World Chain上で稼働するWorldでは、マイニングにかかる時間が5.5秒から3.1秒へと44%短縮され、alchemy_requestGasAndPaymasterAndDataにおけるgas見積もりのレイテンシもおよそ380msから100msへと74%低下した。
"When we were searching for infrastructure vendors, what mattered most was enterprise scale and support. Alchemy was hands down the clear leader across every product we needed-the only logical choice."
Steven at Tools For Humanity
Solanaのアーカイブインフラが重いクエリのレイテンシを削減する
過去データやアーカイブへのクエリは、それ自体が難しい種類の処理だ。過去の状態を広範囲にわたって取得するのは重い処理であり、Solanaのようなハイスループットなチェーンでは、そのための専用インフラがなければ処理が遅々として進まなくなる。私たちは、Solanaプラットフォームの一部であるカスタムのマルチリージョンHBaseアーキテクチャの上に、Solana上で最速のアーカイブメソッドを構築した。
Solflareはまさにそのワークロードを実行し、アーカイブクエリが最大20倍高速化し、大規模な過去データへのクエリでもレスポンスタイムが200ms未満となり、ウォレットのバックフィルが1分未満で完了するようになった。
"Alchemy's Archival RPC has kept up with Solflare's throughput while keeping a consistent <200ms response time."
Dusan K. at Solflare
ベンチマーク手法が速度と信頼性を同時に計測する
すべてのリクエストに何が起きたかについて誠実でなければ、速度の数値には意味がない。失敗したリクエストや取りこぼされた呼び出しを隠す速い平均値は、速いのではなく、誤解を招くものだ。
私たちのベンチマーク手法は、レイテンシを成功率および失敗リクエスト数とあわせて計測し、その数値が実際のワークロードで体験される内容を反映するようにしている。これは私たち自身に課している基準であり、あなたにも同じ基準で私たちを評価してほしいと考えている。詳細はベンチマーク手法全体を確認できる。
目指すもの:意識されなくなるほど速いインフラ
最高のインフラとは、誰にも気づかれない類のものだ。レイテンシが十分に低く、信頼性が十分に高ければ、ウォレットはただ読み込まれ、スワップはただ確定し、バックフィルはただ完了する。このスタックのどのレイヤー単独でもレイテンシを解決することはできないが、すべてが合わさって、その体験を実現している。
数値は自分の目で確かめてほしい。Alchemyのベンチマークページでプロバイダーを比較し、私たちがどのようにRPCパフォーマンスをベンチマークしているかを正確に読んで、結果だけでなく手法そのものを判断してほしい。これをもとに構築する準備ができたら、無料で始める。
FAQ
RPCのレイテンシは何が原因で起きるのか?
RPCのレイテンシは、いくつかの独立した要因から生じる。エントリポイントにおけるリクエストパスのオーバーヘッド、内部サービス間の避けられるはずの通信、非効率なルーティング、トラフィックスパイク、チェーンおよびノードの運用上の遅れ、ワークロード固有のボトルネック、そして不完全な計測だ。これらの原因は互いに独立しているため、単一の対策ですべてを取り除くことはできない。
1つの最適化でRPCのレイテンシを解決できるか?
できない。単一の原因を直しても、ボトルネックは次の箇所に移動するだけだ。レイテンシを確実に削減するには、エッジからノードインフラ、さらにパフォーマンスの計測方法に至るまで、リクエストパスのあらゆるレイヤーに投資する必要がある。
RPCインフラにおけるエッジとは何か?
エッジとは、リクエストが到達する最初のプロバイダー管理下のエントリポイントであり、RPCトラフィックの正面玄関だ。接続の確立、認証、ルーティングをスタックの奥深くではなくそこで処理することで、すべてのリクエストが本来支払うはずの固定オーバーヘッドを取り除く。
AlchemyはどのようにRPCのレイテンシを誠実に計測しているのか?
Alchemyは、レイテンシを単独の平均値としてではなく、成功率および失敗リクエスト数とあわせて計測している。これにより、見かけ上速く見える数値が取りこぼされたリクエストや失敗したリクエストを隠してしまうことを防ぎ、結果が実際の本番ワークロードで体験される内容を反映するようにしている。
予測的スケーリングはトラフィックスパイクにどう対応するのか?
予測的スケーリングは、スパイクが始まってから反応するのではなく、需要に先立ってキャパシティを準備する。これにより、Usualは急増中にレイテンシを悪化させることなく、毎秒30,000リクエストと36時間で10億リクエスト超を維持することができた。
Solanaのアーカイブクエリのパフォーマンスが独立した問題であるのはなぜか?
アーカイブクエリは広範囲の過去の状態を取得するものであり、それ自体が重い処理だ。さらにSolanaの高いスループットによって、その範囲はさらに大きくなる。Solflareのアーカイブクエリが最大20倍高速化した事例が示すように、こうしたクエリを高速に保つのは、そのために作られた専用のアーカイブインフラだ。
Alchemy Newsletter
リリース情報をいち早く受け取る
ニュースレターに登録する
Alchemyの最新のプロダクト情報とリソースをお届けします
メールアドレスを入力すると、当社のマーケティング情報およびプロダクト最新情報の受信に同意したことになります。Alchemyが受け取った情報をプライバシー通知に従って取り扱うことに同意するものとします。購読はいつでも解除できます。
関連記事

トレーディングチームが低レイテンシーRPCにAlchemyを選ぶ理由
トレーディングチームがAlchemyを選ぶのは、市場が動くときの低レイテンシーな読み取りと書き込み、そして出来高のピーク時でも資金が決済される際の信頼できる記録のためだ。

東京で構築するなら、どのRPCプロバイダーを選ぶべきか
東京を提供するRPCプロバイダー5社を、5つのチェーンでベンチマークした。比較結果と、レイテンシに敏感なチームにとって差が出るポイントを示す。

業界最速クラスの速度と信頼性を実現するSolana RPC読み取りの設計
AlchemyはSolanaの読み取りレイテンシが最も低く、9.21ミリ秒で、次点のプロバイダーより約26%高速です。