MCP Fusion/Operate and integrate/Performance et mise à l’échelle

Performance et mise à l’échelle

Demandez à l’IA à propos de Vinkius

Comprenez les mécanismes réels de performance : middleware compilé, schémas Zod mis en cache, cartes O(1), sérialisation AOT facultative, concurrence limitée et mise à l’échelle horizontale sans état, sans benchmarks inventés.

MCP Fusion optimise le travail qu’il peut connaître avant la requête et laisse visibles la latence de votre base de données et de vos services amont. Cette page distingue les mécanismes étayés par le code source des affirmations de benchmark : le dépôt ne contient ni suite de benchmarks ni mesure d’opérations par seconde.

Travail à la compilation

Lorsqu’un builder est enregistré, le framework compile et met en cache :

  • le JSON Schema fusionné et un schéma de validation Zod strict par action
  • la chaîne de middleware, avec le middleware global à l’extérieur et celui de l’action à l’intérieur
  • la carte des actions et la carte de routage d’exposition à plat
  • le sérialiseur Presenter lorsque le sérialiseur AOT facultatif est installé
  • les correspondances de politique de synchronisation d’état et les résumés de contrat

Le chemin de requête résout ensuite les cartes et invoque les closures. Il ne construit pas de tableau de middleware, ne régénère pas de schéma et ne parcourt pas les builders.

Aucun coût quand c’est désactivé

Le code d’exécution vérifie les sous-systèmes facultatifs avant de construire leurs hooks :

  • aucun objet de garde de concurrence sans .concurrency()
  • aucun sérialiseur FIFO des mutations sauf si une action est destructive
  • aucun hook de débogage sans debug
  • aucune branche de traçage sans tracing
  • aucun travail de télémétrie sans client sur le bus de télémétrie
  • aucun collecteur de progression sans progressToken client

Il s’agit d’une propriété du chemin de code, et non d’une promesse de latence fixe.

Sérialisation

createSerializer() charge paresseusement fast-json-stringify, transforme les schémas Zod en JSON Schema et met les fonctions compilées en cache dans une WeakMap. Si la dépendance est absente ou si la compilation échoue, il utilise JSON.stringify. Installez le peer facultatif lorsque la sérialisation des réponses constitue un goulot mesuré, puis profilez le résultat avec vos propres données.

Élimination de charge et ordre

concurrency({ maxActive, maxQueue }) est un sémaphore borné. Une file pleine renvoie SERVER_BUSY avec des indications de récupération au lieu d’autoriser une croissance mémoire illimitée. Les actions destructives reçoivent un MutationSerializer FIFO par action, afin que deux écritures sur la même action ne se concurrencent pas. L’annulation retire les waiters en file via le même AbortSignal.

Mise à l’échelle horizontale sans état

transport: 'stateless' crée un MCP Server neuf pour chaque requête et n’a aucune affinité de session. Les adaptateurs Vercel et Cloudflare mettent le registre compilé en cache au niveau du module, mais utilisent des réponses JSON sans SSE ni mémoire de session partagée. Toute instance derrière un répartiteur peut traiter toute requête. L’état durable appartient à votre base de données, à un stockage externe ou à un handle d’état de requête explicite, pas à une variable de module.

Faites évoluer le contexte avant le CPU

La plupart des coûts d’un agent viennent du contexte, non de l’exécution JavaScript. Avant d’ajouter de l’infrastructure :

  1. regroupez les actions liées derrière un discriminant
  2. filtrez la surface par étiquette de déploiement ou par rôle
  3. utilisez .agentLimit() sur les collections
  4. exposez _select pour les entités larges
  5. utilisez TOON pour les tableaux et descriptions uniformes
  6. profilez l’inflation des tokens dans le lockfile

Consultez Token economics et Tool exposition.

Ce que nous ne revendiquons pas

Le dépôt du framework ne contient ni répertoire de benchmarks ni tableau mesuré d’opérations par seconde. Des affirmations comme une sérialisation deux fois plus rapide ou une réduction de coût en pourcentage sont des heuristiques documentaires, pas une garantie. Mesurez votre handler, votre base de données, votre service amont et la forme du payload avec Observability.

Choix de déploiement

  • Deploy pour le chemin Edge géré gratuit de Vinkius Cloud
  • Vercel via @mcpfusion/vercel
  • Cloudflare Workers via @mcpfusion/cloudflare
  • Self hosting lorsque votre périmètre doit rester dans votre compte

Les outils, les Presenters et le middleware ne changent pas entre ces cibles.

Étapes suivantes