MCP Fusion/Operate and integrate/パフォーマンスとスケーリング

パフォーマンスとスケーリング

VinkiusについてAIに質問

実際のパフォーマンスの仕組みを理解します。コンパイル済みミドルウェア、キャッシュされたZodスキーマ、O(1)マップ、オプションのAOTシリアライズ、制限付き同時実行、架空のベンチマークに頼らないステートレスな水平スケーリングを扱います。

MCP Fusionはリクエスト前に把握できる処理を最適化し、データベースや上流サービスのレイテンシーは見える状態に保ちます。このページでは、ソースコードで裏付けられた仕組みとベンチマークの主張を分けています。リポジトリにはベンチマークスイートも、測定済みの1秒あたりの処理数もありません。

ビルド時の処理

builderを登録すると、フレームワークは次をコンパイルしてキャッシュします。

  • マージされたJSON Schemaとアクションごとの厳格なZod検証スキーマ
  • グローバルミドルウェアを外側、アクションミドルウェアを内側にしたミドルウェアチェーン
  • アクションマップとフラットな公開ルーティングマップ
  • オプションのAOTシリアライザーがインストールされている場合のPresenterシリアライザー
  • 状態同期ポリシーの一致と契約ダイジェスト

リクエストパスはその後マップを解決してクロージャを呼び出します。ミドルウェア配列の組み立て、スキーマの再生成、builderの走査は行いません。

無効時のコストゼロ

実行コードはフックを構築する前にオプションのサブシステムを確認します。

  • .concurrency() がなければ同時実行ガードオブジェクトを作らない
  • アクションが破壊的でなければミューテーションFIFOシリアライザーを作らない
  • debug がなければデバッグフックを作らない
  • tracing がなければトレーシング分岐を作らない
  • テレメトリーバスにクライアントがなければテレメトリー処理を行わない
  • クライアントの progressToken がなければ進捗シンクを作らない

これはコードパスの性質であり、固定レイテンシーの約束ではありません。

シリアライズ

createSerializer() はオプションの fast-json-stringify を遅延ロードし、ZodスキーマをJSON Schemaに変換し、コンパイル済み関数を WeakMap にキャッシュします。依存関係がない場合やコンパイルに失敗した場合は JSON.stringify にフォールバックします。レスポンスのシリアライズが測定済みのボトルネックである場合にオプションのpeerをインストールし、自分のデータで結果をプロファイリングしてください。

負荷遮断と順序制御

concurrency({ maxActive, maxQueue }) は上限付きセマフォです。キューが満杯になると、メモリが無制限に増えるのを許さず、復旧案内付きで SERVER_BUSY を返します。破壊的なアクションにはアクション単位のFIFO MutationSerializer が付くため、同じアクションへの2つの書き込みが競合しません。キャンセル時は同じAbortSignalを通じてキュー待ちの処理を削除します。

ステートレスな水平スケーリング

transport: 'stateless' はリクエストごとに新しいMCP Serverを作成し、セッションアフィニティを持ちません。VercelとCloudflareのアダプターはコンパイル済みレジストリをモジュールスコープでキャッシュしますが、SSEや共有セッションメモリのないJSONレスポンスを使います。ロードバランサーの背後にあるどのインスタンスでも任意のリクエストを処理できます。永続状態はデータベース、外部ストア、明示的なリクエスト状態ハンドルに置き、モジュール変数には置かないでください。

CPUより先にコンテキストをスケールする

エージェントのコストの大部分はJavaScriptの実行ではなくコンテキストです。インフラを追加する前に、次を行います。

  1. 関連するアクションを識別子の背後にまとめる
  2. デプロイメントやロールでサーフェスをタグフィルタリングする
  3. コレクションで .agentLimit() を使う
  4. 大きなエンティティには _select を公開する
  5. 均一な配列と説明にはTOONを使う
  6. lockfileでトークン増加をプロファイリングする

Token economicsTool exposition を参照してください。

主張していないこと

フレームワークリポジトリにはベンチマークディレクトリも、1秒あたりの処理数を測定した表もありません。シリアライズが2倍速い、コストが一定割合下がるといった主張はドキュメント上のヒューリスティックであり、保証ではありません。Observability を使い、ハンドラー、データベース、上流サービス、ペイロード形状を測定してください。

デプロイの選択肢

  • Deploy はVinkius Cloudの無料マネージドEdgeパス
  • Vercelは @mcpfusion/vercel 経由
  • Cloudflare Workersは @mcpfusion/cloudflare 経由
  • Self hosting は境界を自分のアカウント内に保つ必要がある場合

これらのターゲット間で、ツール、Presenter、ミドルウェアは変わりません。

次のステップ