MCP Fusion/Operate and integrate/Performance e escala
Performance e escala
Entenda a mecânica real de performance: middleware compilado, esquemas Zod em cache, mapas O(1), serialização AOT opcional, concorrência limitada e escala horizontal sem estado, sem benchmarks inventados.
O MCP Fusion otimiza o trabalho que pode conhecer antes da requisição e deixa visível a latência do seu banco de dados e dos serviços upstream. Esta página separa mecanismos baseados no código-fonte de alegações de benchmark: o repositório não tem uma suíte de benchmarks nem um número medido de operações por segundo.
Trabalho em tempo de build
Quando um builder é registrado, o framework compila e armazena em cache:
- o JSON Schema mesclado e um esquema de validação Zod estrito por ação
- a cadeia de middleware, com o middleware global mais externo e o middleware da ação mais interno
- o mapa de ações e o mapa de roteamento plano da exposição
- o serializador Presenter quando o serializador AOT opcional está instalado
- correspondências de política de sincronização de estado e resumos de contrato
O caminho da requisição então resolve mapas e invoca closures. Ele não monta um array de middleware, regenera um esquema nem examina builders.
Custo zero quando desativado
O código de execução verifica os subsistemas opcionais antes de construir seus hooks:
- nenhum objeto de proteção de concorrência sem
.concurrency() - nenhum serializador FIFO de mutações, a menos que uma ação seja destrutiva
- nenhum hook de depuração sem
debug - nenhuma ramificação de tracing sem
tracing - nenhum trabalho de telemetria quando não há clientes no barramento de telemetria
- nenhum sink de progresso sem um
progressTokende cliente
Esta é uma propriedade do caminho do código, não uma promessa de latência fixa.
Serialização
createSerializer() carrega sob demanda o fast-json-stringify opcional, transforma esquemas Zod em JSON Schema e armazena funções compiladas em um WeakMap. Se a dependência estiver ausente ou a compilação falhar, usa JSON.stringify. Instale o peer opcional quando a serialização de respostas for um gargalo medido e depois faça o profiling do resultado com seus próprios dados.
Descarte de carga e ordenação
concurrency({ maxActive, maxQueue }) é um semáforo limitado. Uma fila cheia retorna SERVER_BUSY com orientações de recuperação em vez de permitir crescimento ilimitado da memória. Ações destrutivas recebem um MutationSerializer FIFO por ação, para que duas gravações na mesma ação não concorram. O cancelamento remove os waiters enfileirados pelo mesmo AbortSignal.
Escala horizontal sem estado
transport: 'stateless' cria um novo MCP Server para cada requisição e não tem afinidade de sessão. Os adaptadores Vercel e Cloudflare armazenam o registro compilado no escopo do módulo, mas usam respostas JSON sem SSE e sem memória de sessão compartilhada. Qualquer instância atrás de um balanceador de carga pode processar qualquer requisição. O estado durável pertence ao banco de dados, a um armazenamento externo ou a um identificador explícito de estado da requisição, não a uma variável de módulo.
Escale o contexto antes da CPU
A maior parte do custo de um agente está no contexto, não na execução de JavaScript. Antes de adicionar infraestrutura:
- agrupe ações relacionadas atrás de um discriminador
- filtre a superfície por tags de implantação ou função
- use
.agentLimit()em coleções - exponha
_selectpara entidades amplas - use TOON para arrays uniformes e descrições
- faça profiling da inflação de tokens no lockfile
Consulte Token economics e Tool exposition.
O que não afirmamos
O repositório do framework não contém diretório de benchmarks nem tabela medida de operações por segundo. Alegações como serialização 2x mais rápida ou redução percentual de custo são heurísticas de documentação, não uma garantia. Meça seu handler, banco de dados, upstream e formato de payload com Observability.
Opções de implantação
- Deploy para o caminho Edge gerenciado gratuito do Vinkius Cloud
- Vercel via
@mcpfusion/vercel - Cloudflare Workers via
@mcpfusion/cloudflare - Self hosting quando seu perímetro precisa permanecer na sua conta
As ferramentas, os Presenters e o middleware não mudam entre esses destinos.
Próximos passos
- Runtime architecture: o caminho compilado da requisição
- Observability: faça profiling da sua carga real
- Governance: mantenha regressões de performance revisáveis
