返回市场
<jmeter-mcp服务器>

<jmeter-mcp服务器>

作者:QAInsights47 星标更新:2025-06-15

项目介绍

🚀 JMeter MCP 服务器

这是一个模型上下文协议(MCP)服务器,允许通过兼容MCP的客户端执行JMeter测试并分析测试结果。

[!IMPORTANT] 📢 在JMeter中寻找AI助手吗?🚀 查看 Feather Wand

Anthropic Cursor Windsurf

📋 特性

JMeter 执行

  • 📊 在非GUI模式下执行JMeter测试
  • 🖥️ 启动JMeter的GUI模式
  • 📝 捕获并返回执行输出
  • 📊 生成JMeter报告仪表板

测试结果分析

  • 📈 解析和分析JMeter测试结果(JTL文件)
  • 📊 计算全面的性能指标
  • 🔍 自动识别性能瓶颈
  • 💡 生成可操作的见解和建议
  • 📊 创建测试结果的可视化图表
  • 📑 生成带有分析结果的HTML报告

🛠️ 安装

本地安装

  1. 安装 uv

  2. 确保系统上已安装JMeter,并可通过命令行访问。

⚠️ 重要:确保JMeter是可执行的。你可以通过运行以下命令来实现:

chmod +x /path/to/jmeter/bin/jmeter
  1. 安装所需的Python依赖项:
pip install numpy matplotlib
  1. 配置.env文件,参考.env.example文件中的细节。
# JMeter 配置
JMETER_HOME=/path/to/apache-jmeter-5.6.3
JMETER_BIN=${JMETER_HOME}/bin/jmeter

# 可选:JMeter Java选项
JMETER_JAVA_OPTS="-Xms1g -Xmx2g"

💻 MCP 使用

  1. 使用兼容MCP的客户端连接到服务器(例如,Claude Desktop, Cursor, Windsurf)

  2. 向服务器发送提示:

运行JMeter测试 /path/to/test.jmx
  1. 兼容MCP的客户端将使用可用工具:

JMeter 执行工具

  • 🖥️ execute_jmeter_test:启动JMeter的GUI模式,但不执行测试,这符合JMeter的设计
  • 🚀 execute_jmeter_test_non_gui:在非GUI模式下执行JMeter测试(默认模式,以获得更好的性能)

测试结果分析工具

  • 📊 analyze_jmeter_results:分析JMeter测试结果,并提供关键指标和见解的总结
  • 🔍 identify_performance_bottlenecks:识别JMeter测试结果中的性能瓶颈
  • 💡 get_performance_insights:获取改进性能的见解和建议
  • 📈 generate_visualization:生成JMeter测试结果的可视化图表

🏗️ MCP 配置

向你的MCP客户端配置添加以下配置:

{
    "mcpServers": {
      "jmeter": {
        "command": "/path/to/uv",
        "args": [
          "--directory",
          "/path/to/jmeter-mcp-server",
          "run",
          "jmeter_server.py"
        ]
      }
    }
}

✨ 使用案例

测试执行

  • 在非GUI模式下运行JMeter测试以获得更好的性能
  • 启动JMeter的GUI模式进行测试开发
  • 生成JMeter报告仪表板

测试结果分析

  • 分析JTL文件以了解性能特征
  • 识别性能瓶颈及其严重程度
  • 获取改进性能的可操作建议
  • 生成可视化图表以更好地理解结果
  • 创建包含所有分析结果的综合HTML报告

🛑 错误处理

服务器将:

  • 验证测试文件是否存在
  • 检查文件是否具有.jmx扩展名
  • 验证JTL文件存在且格式有效
  • 捕获并返回任何执行或分析错误

📊 测试结果分析器

测试结果分析器是一个强大的功能,帮助你更好地理解JMeter测试结果。它由几个组件组成:

解析模块

  • 支持XML和CSV JTL格式
  • 使用流式解析器高效处理大型文件
  • 验证文件格式并优雅地处理错误

指标计算器

  • 计算总体性能指标(平均值、中位数、百分位数)
  • 提供特定端点的指标以进行详细分析
  • 生成时间序列指标以跟踪随时间变化的性能
  • 将指标与基准进行比较以提供上下文

瓶颈分析器

  • 根据响应时间识别慢速端点
  • 检测具有高错误率的易出错端点
  • 发现响应时间异常值和离群值
  • 分析并发对性能的影响

见解生成器

  • 提供针对瓶颈的具体建议
  • 分析错误模式并提出解决方案
  • 生成关于扩展行为和容量限制的见解
  • 根据潜在影响优先排序建议

可视化引擎

  • 创建显示随时间变化性能的时间序列图
  • 生成用于响应时间分析的分布图
  • 制作用于识别问题的端点对比图
  • 创建包含所有分析结果的综合HTML报告

📝 示例用法

# 运行一个JMeter测试并生成结果文件
在非GUI模式下运行sample_test.jmx测试,并将结果保存到results.jtl

# 分析结果
分析results.jtl中的JMeter测试结果,并提供详细的见解

# 识别瓶颈
results.jtl文件中的性能瓶颈是什么?

# 获取建议
基于results.jtl,你有什么提高性能的建议?

# 生成可视化图表
从results.jtl创建响应时间的时间序列图