MCP服务器性能基准测试

一个全面的实验分析,比较了Java、Go、Node.js和Python实现的MCP服务器性能,通过390万次请求测试延迟、吞吐量、资源效率和生产就绪特性。

  • by thiagomendes
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 thiagomendes/benchmark-mcp-servers

使用说明

多语言MCP服务器性能基准测试

对Java、Go、Node.js和Python中的模型上下文协议(MCP)服务器实现进行全面的实验分析。在三轮基准测试中测试390万个请求,以测量延迟、吞吐量、资源效率和生产就绪特性。

目标

此存储库包含源代码和基准套件,用于对四个主要编程生态系统中的模型上下文协议(MCP)服务器实现进行全面的性能分析:

  • Java:Spring Boot+Spring AI
  • 走:官方SDK
  • Node.js:官方SDK
  • python:FastMCP

目标是通过测量延迟、吞吐量、资源消耗和可靠性,为生产MCP部署的架构决策提供经验数据。

结果与分析

有关完整的详细结果、分析和建议,请访问实验帖子: https://www.tmdevlab.com/mcp-server-performance-benchmark.html

主要发现摘要

  • Java和Go 展示了亚毫秒平均延迟(~0.8ms),吞吐量>1600 RPS。
  • 走 显示了最高的资源效率(18MB内存vs Java的220MB内存)。
  • Node.js和Python 显示出更高的延迟(10-30x),但适用于开发或中等工作负载。
  • 所有实现 0%错误率 390万次请求。

项目结构

benchmark-mcp-servers/
├── java-server/    # Spring Boot 4.0.0 + Spring AI 2.0.0-M2
├── go-server/      # Official MCP SDK v1.2.0
├── nodejs-server/  # SDK v1.26.0 (with CVE-2026-25536 mitigation)
├── python-server/  # FastMCP 2.12.0+ + FastAPI
├── benchmark/      # k6 load testing scripts and tools
└── docker-compose.yml

基准测试工具

每个服务器都实现了四个相同的工具进行公平比较:

  1. calculate_fibonacci:CPU密集型递归计算。
  2. fetch_external_data:I/O密集型HTTP GET请求。
  3. process_json_data:具体的数据转换。
  4. simulate_database_query:受控延迟模拟。

运行基准

先决条件

  • Docker&Docker编写
  • k6(如果不使用集装箱转轮,则用于本地运行负载测试)

构建和启动服务器

# Build all server images
docker-compose build

# Start all servers
docker-compose up -d

# Check status
docker-compose ps

服务器将在以下地点提供:

  • Java http://localhost:8080
  • 去: http://localhost:8081
  • python http://localhost:8082
  • Node.js: http://localhost:8083

运行负载测试

选项1:全自动基准测试

使用编排脚本运行完整的基准测试套件(所有服务器):

cd benchmark
./run_benchmark.sh

选项2:手动单服务器测试

您可以在特定的运行服务器上运行k6:

cd benchmark
k6 run -e SERVER_URL=http://localhost:8080/mcp benchmark.js

停止服务器

docker-compose down