skilled-feishu-mcp
Version:
A Model Context Protocol (MCP) server that integrates with Feishu's Open Platform APIs
129 lines (92 loc) • 3.87 kB
Markdown
# MCP 服务器性能测试框架
本文档介绍了用于测试 Skilled Feishu MCP 服务器性能的测试框架。这些测试主要关注开发模式下的性能表现。
## 测试脚本概述
### 1. Feishu 令牌测试 (`test_token_dev.js`)
测试 Feishu 客户端初始化和获取令牌的性能。
- 设置开发环境和测试凭据
- 测量客户端初始化时间
- 测量获取令牌时间
使用方法:
```bash
NODE_ENV=development node --experimental-specifier-resolution=node test_token_dev.js
```
### 2. MCP 服务器启动测试 (`test_mcp_dev.js`)
测试 MCP 服务器基本启动流程的性能。
- 设置开发环境和测试凭据
- 测量 Feishu 客户端初始化时间
- 显示可用工具列表
- 测量服务器启动时间
使用方法:
```bash
NODE_ENV=development node --experimental-specifier-resolution=node test_mcp_dev.js
```
### 3. MCP 服务器组件性能测试 (`test_mcp_performance_dev.js`)
详细测量 MCP 服务器各个组件的性能。
- 设置开发环境和测试凭据
- 测量 Feishu 客户端初始化时间
- 测量工具加载时间
- 测量 SDK 导入时间
- 测量服务器创建时间
- 测量工具注册时间
- 测量传输层创建时间
- 计算总体启动时间
使用方法:
```bash
NODE_ENV=development node --experimental-specifier-resolution=node test_mcp_performance_dev.js
```
### 4. MCP 服务器全面性能测试 (`test_mcp_comprehensive_dev.js`)
提供完整的性能报告,包括基准对比和性能建议。
- 设置开发环境和测试凭据
- 测量所有组件性能
- 与基准值对比
- 计算性能评级
- 确定性能瓶颈
- 提供优化建议
使用方法:
```bash
NODE_ENV=development node --experimental-specifier-resolution=node test_mcp_comprehensive_dev.js
```
### 5. 请求-响应循环测试 (`test_mcp_roundtrip_dev.js`)
测试完整的请求-响应循环时间(注意:此测试存在一些限制,可能不会成功完成)。
- 设置开发环境和测试凭据
- 模拟 `list_tools` 请求
- 测量响应时间
使用方法:
```bash
NODE_ENV=development node --experimental-specifier-resolution=node test_mcp_roundtrip_dev.js
```
## 性能测试指标
以下是我们测量的主要性能指标:
1. **Feishu 客户端初始化时间**:初始化 Feishu API 客户端所需的时间
2. **工具加载时间**:加载所有工具定义的时间
3. **SDK 导入时间**:导入 MCP SDK 所需的时间
4. **服务器创建时间**:实例化 MCP 服务器的时间
5. **工具注册时间**:在服务器上注册所有工具的时间
6. **传输层创建时间**:创建 stdio 传输层的时间
7. **总启动时间**:从开始到服务器完全准备好的总时间
## 基准值
以下是开发模式下的性能基准值:
| 指标 | 基准值 (ms) |
|------|------------|
| Feishu 客户端初始化 | 10 |
| 工具加载 | 1 |
| SDK 导入 | 25 |
| 服务器创建 | 1 |
| 工具注册 | 1 |
| 传输层创建 | 1 |
| 总启动时间 | 40 |
这些基准值是基于多次测试的平均结果,可作为性能评估的参考点。
## 性能优化建议
基于测试结果,以下是一些可能的优化方向:
1. **SDK 导入优化**:如果 SDK 导入时间过长,考虑使用预加载策略或优化导入路径
2. **Feishu 客户端优化**:如果客户端初始化时间较长,考虑延迟初始化或优化客户端代码
3. **工具注册优化**:如果工具数量较多导致注册时间长,考虑按需注册或优化注册流程
## 自定义测试
您可以根据需要修改测试脚本:
1. 调整基准值以适应您的环境
2. 添加更多的性能指标
3. 修改测试逻辑以测试特定场景
## 注意事项
- 这些测试专为开发模式设计,使用测试凭据
- 性能结果可能因系统环境而异
- 生产环境测试需要单独配置真实的 Feishu 凭据