告别手动编写JMeter脚本,一个 Skill搞定99% 脚本配置,自动生成分布式压测脚本,7大性能测试 Skill(第五篇) 一个被低估的问题测试计划写得清清楚楚5000 并发、23 分钟、P95 ≤ 500ms。2000 万条数据造好了缓存预热完了就绪检查 59 项全过。接下来就剩一件事配 JMX 脚本。3.5 小时后业务方问还没好你回头看 JMeter线程组配了 1 小时5 个 HTTP 请求配了 1.5 小时断言补 bug 修了 1 小时。10 台 Slave 路径全不一致因为本地写的绝对路径Slave 上没有。开压 3 分钟 TPS 只有 200看报错限流没关。业务方催第三次再给我半天。你很委屈不是 JMX 难是 JMeter 太工程师友好了每一个选项都要你点每一处配置都要你填。不是 JMeter 难用是我们在错误地使用 JMeter。测试计划已经把做什么写得明明白白工程师不该再把时间耗在怎么做的配置上JMX 脚本就不该是手工配出来的它该是从测试计划驱动生成的。perf-jmx-generator 是什么perf-jmx-generator是一键生成 JMeter JMX 脚本的 Skill输入plan_id一行字关联上游 P01/P02/P03 压测目标 环境信息输出调试版 JMX 正式版 JMX 分布式配置 启动脚本 10 个分片 CSV 脚本校验报告核心能力从测试计划5000 并发 / 23 分钟 / 11 台 Slave→ 完整可执行 JMX 脚本包15 分钟出活0 项手工配置。能解决什么问题6 个手工配置 JMX 的经典翻车以前 vs 现在核心能力一览能力 1上游 plan_id 自动联动11 项参数 0 手动以前测试计划改了并发数JMX 脚本里 8 个地方要改数据构造改了路径CSV 配置要重写就绪检查发现 SLA 错了断言阈值要重算。现在输入一行plan_id自动从 P01/P02/P03 加载能力 2分布式压测脚本10 Slave 自动拆分核心特性多 Slave 分片 CSV 加载每个 Slave 节点绑定独立数据分片user_id 区间切分避免热点 Key 和缓存击穿远程执行 shell 脚本run_distributed.sh自动生成jmeter -r远程启动命令结果聚合说明merge_results.sh自动生成多 CSV 合并 95% 置信区间计算统一远程主机配置jmeter.properties 远程主机 IP 列表自动填充京东案例验证10 Slave × 600 线程 6000 并发10 个分片 CSV 自动按 user_id 区间切分每个 200 万用户。能力 3业务开关 Header 矩阵5 场景自动适配京东案例容量击穿模式7 个 Header 自动配置限流/熔断/降级全 disabled X-Perf-Tagcapacity 唯一请求 ID 影子流量隔离。能力 4写接口幂等 事务 业务断言京东案例加购/提交/支付 3 个写接口 100% 带 UUID 幂等 Key事务级 P95480ms业务级 SLA 合规。能力 5长稳测试防 OOMjmeter.sh 启动脚本4 大防护JVM 堆内存配置12h 测试用 4G24h 测试用 6G48h 用 8G禁用内存型监听器View Results Tree、查看断言结果、Debug Sampler 全部移除强制 CSV 落地聚合报告 → CSV 文件配置滚动写入每 60s 一个文件60 分钟自动重登录登录态链路定时清理 Cookie 重新登录避免 Token 失效示例启动脚本# run_test.sh #!/bin/bash HEAP-Xms4g -Xmx4g -XX:MaxMetaspaceSize512m jmeter -n -t jd-order-perf-20260611-JMX.jmx \ -Jheap_size4g \ -Jduration82800 \ -l results/result-$(date %Y%m%d-%H%M%S).jtl \ -e -o results/html-report \ $HEAP能力 6三层断言体系HTTP 业务码 业务字段能力 7监听器场景化过滤自动适配场景实战案例京东订单 2000 万数据JMX 一键生成用 v1.1.0 给京东订单 2000 万数据案例做完整 JMX 脚本生成15 分钟出活。输入一行 plan_id 启动skill:perf-jmx-generator plan_id jd-order-perf-20260611 压测目标 容量击穿 压测环境 预发布 接口列表 5 个核心接口登录/加购/提交/支付/查询Step 0上游自动加载报告0 项手动自动从 P01/P02/P03 加载11 项参数加载耗时3 秒。人工配置原本需要 30 分钟。Step 1~6自动生成 JMX 脚本包11 个文件核心 JMX 组件11 大能力全部落地调试版 JMX 关键节点30KB XML1. 线程组L3全链路-5000并发-23min 2. 事务控制器下单全链路事务 3. CSV 数据文件配置./data/...shard-${__P(slave_id,1)}.csv 4. 用户定义变量域名/环境/接口超时/Token有效期 5. HTTP 信息头管理器7 个 Header容量击穿 影子流量隔离 6. HTTP Cookie 管理器 7. HTTP 请求默认值 8. 步骤 1登录HTTP 请求 响应断言 JSON 提取器 9. 步骤 2加购写接口 UUID 幂等 Key 库存断言 10. 步骤 3提交订单写接口 UUID 业务断言 事务内 11. 步骤 4支付写接口 UUID 状态断言 12. 步骤 5查询订单读接口 状态PAID 断言 13. 响应断言HTTP 200 14. 业务码断言code 0 15. 业务字段断言订单号非空且不重复 16. SLA 断言P95 ≤ 500ms 17. 错误率拦截 5% 终止线程 18. ThinkTime1000~3000ms 随机 19. 监听器聚合报告 Summary Report Debug Sampler脚本校验报告55 项 100% 通过0 项 P0 阻塞、0 项 P1 警告、0 项未通过— 脚本可直接开压。总结15 分钟出活55 项校验 100% 通过0 项手工配置1 行 plan_id 启动。以前写脚本 2~4 小时 改脚本 1 小时 排查问题 1 小时 半天没了。现在15 分钟还顺便把 10 台 Slave、10 个分片 CSV、7 个 Header、3 个写接口的幂等、5 步骤的事务、3 层断言、4 类监听器、55 项校验全配齐。输出物示例示例 1最简输出单机单接口3 个文件文件作用plan_001-JMX.jmx单线程组 单 HTTP 请求 1 个断言plan_001-data.csv单文件参数化plan_001-脚本校验报告.md12 项校验适用场景本地单接口调试1 小时压测以内1 台机器跑。示例 2标准输出分布式多接口8 个文件适用场景标准 5 Slave 分布式压测1~3 小时。示例 3完整输出11 个文件 10 分片京东订单案例见上文含 10 Slave 分布式、长稳防 OOM、写接口幂等事务、55 项校验。适用场景容量规划、稳定性压测12h、秒杀大促备战。怎么用1. WorkBuddy 中直接使用触发词类别触发词主触发生成 JMX、生成压测脚本、JMeter 脚本生成、写 JMX口语化压测脚本一键生成、JMX 模板生成、JMeter 配置生成三步使用流程Step 1输入 plan_id最简 1 行启动skill:perf-jmx-generator plan_id jd-order-perf-20260611 压测目标 容量击穿 压测环境 预发布Skill 会自动从 P01/P02/P03 加载 11 项参数跳过重复问询。Step 2确认场景信息10 项差异化配置Step 3自动生成完整 JMX 包15 分钟出活11 个文件 10 个分片 CSV55 项脚本校验 100% 通过0 项手工配置2. 跨平台使用Cursor / Trae / Claude / ChatGPT / DeepSeekPrompt 模板直接复制你是一位资深性能测试工程师专精于 JMeter JMX 脚本生成。 ## 任务 根据我提供的测试计划帮我一键生成完整可执行的 JMeter JMX 脚本包 支持分布式压测、长稳测试、读写接口差异化配置、自动化校验。 ## 前置必填缺失则拒绝启动 - plan_id关联上游测试计划 数据构造 - 压测目标基线/容量击穿/稳定性/影子/极限 - 压测场景类型L1 原子/L2 混合/L3 全链路 - 压测模式阶梯/脉冲/浪涌/恒定 QPS - 并发模式单机/分布式 Slave 数量 - 压测环境测试/预发布/生产 - 写接口列表需幂等的接口名 - ThinkTime 规则L10/L2500ms/L31000-3000ms - 是否长稳测试12h/24h/48h - 接口鉴权方式Token/签名/Cookie ## 11 大生成能力 ### 能力 1上游 plan_id 自动联动 从 P01 需求澄清自动加载SLA P95/P99、错误率阈值、接口列表 从 P02 测试计划自动加载目标并发、ramp-up、持续时间、Slave 数量 从 P03 数据构造自动加载CSV 路径、冷热分片、字段映射 ### 能力 2分布式压测脚本 - 10 Slave 分片 CSV 自动加载避免热点 Key - 远程执行 shell 脚本jmeter -r - 结果聚合merge_results.sh 95% 置信区间 - 统一 jmeter.properties 远程主机配置 ### 能力 3业务开关 Header 矩阵 按压测目标自动配置 7 个 Header - 容量击穿限流/熔断/降级全 disabled - 影子压测X-Perf-Sourceshadow - 稳定性保留生产默认配置 ### 能力 4写接口幂等 事务 业务断言 - UUID v4 前置处理器X-Idempotent-Key - 事务控制器包裹完整写链路 - Groovy 业务断言订单号非空/不重复、状态PAID、库存≥0 ### 能力 5长稳防 OOM - jmeter.sh 内置 4G/6G/8G 堆内存 - 60 分钟自动重登录 - 禁用内存型监听器 - 强制 CSV 滚动写入 ### 能力 6三层断言 - 第 1 层HTTP 200 - 第 2 层业务码 0 - 第 3 层Groovy 业务字段校验 - SLAP95/P99 自动从 P01 加载 - 错误率 5% 自动终止线程 ### 能力 7监听器场景化过滤 - 调试版保留 View Results Tree - 正式版自动移除内存型监听器 - 长稳版强制 CSV 滚动写入 ### 能力 8参数化能力 - 多 CSV 分片自动加载 - 用户定义变量域名/环境/超时 - 加密签名前置处理器MD5/AES/RSA/时间戳 - JSON Path 自动提取业务字段 ### 能力 9中间件压测模板 - JDBC连接池复用 批量查询 超时配置 - WebSocket心跳 自动重连 - Kafka/RabbitMQ完整采样器模板 ### 能力 10流量模型匹配 - 混合场景按上游接口权重分配线程数 - 恒定吞吐量计时器容量规划锁 QPS - 阶梯脉冲加压控制器秒杀瞬时流量 ### 能力 11脚本校验报告55 项量化 - 上下游参数一致性10 项 - 写接口差异化5 项 - 分布式配置6 项 - 业务开关4 项 - 监听器合规4 项 - 断言完整性6 项 - CSV 有效性5 项 - 启动脚本4 项 - 数据隔离3 项 - 文件命名8 项 ## 输出要求完整脚本包 - 调试版 JMX30KB - 正式版 JMX25KB - 分布式配置说明 - 启动脚本run_test.sh .bat - 分布式启动run_distributed.sh - 结果聚合merge_results.sh - 分片 CSV10 个 Slave - 脚本校验报告55 项 - 自动加载报告 - jmeter.properties ## 6 项防呆校验 1. 单机并发 5000 → 强制建议分布式 2. 写接口无幂等 Key → 拒绝生成 3. 长稳测试无 jmeter.sh → 自动补全 4. 正式版有 View Results Tree → 自动移除 5. 容量击穿有业务限流 → 强制关闭 6. 生产影子无流量标识 → 拒绝生成 ## 关键原则 - 一行 plan_id 启动0 项手工配置 - 写接口必须幂等 事务 业务断言 - 分布式必须分片 CSV 远程执行 聚合 - 长稳必须防 OOM 重登录 - 脚本必须 55 项校验 100% 通过Cursor / Trae复制 Prompt 模板粘贴到对话框补充自己的 plan_id 和压测信息AI 自动生成完整脚本包Claude / ChatGPT / DeepSeek网页版复制 Prompt 模板在对话开头加「请按照以下角色和要求执行任务」 Prompt补充自己的压测信息使用前 vs 使用后总结JMX 脚本的本质是机械配置线程数、HTTP 请求、Header、Cookie、CSV、断言、监听器、事务这些配置项和上游测试计划一一对应。既然测试计划已经确定了 5000 并发、23 分钟、6 阶阶梯、5 个接口、3 个写接口要幂等、11 台 Slave、10 个分片 CSV。JMX 脚本就不该是工程师一行一行配出来的而是测试计划驱动生成的。P05perf-jmx-generator把手工配置 JMX工程化、自动化、校验化让你 15 分钟拿到一份能直接开压的脚本包中间没有任何手工配置。它不是替代你写脚本而是让你从机械的 JMeter 配置里解放出来去做真正需要工程师判断的事分析结果、调优参数、设计场景。下一篇我会介绍 P06perf-report-analyzer压测报告分析 Skill。JMX 跑完后从 JMeter 结果里自动挖出瓶颈点告诉你哪个接口慢了 哪条 SQL 卡了哪个中间件打满了哪个连接池爆了。专栏目录持续更新篇号主题Skill第 1 篇需求澄清perf-requirement-clarifier第 2 篇测试计划perf-test-planner第 3 篇数据构造perf-data-builder第 4 篇就绪检查perf-readiness-checker第 5 篇JMX 脚本perf-jmx-generator第 6 篇报告分析perf-report-analyzer第 7 篇报告生成perf-report-writer