十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

JMeter事务控制器详解:把多个请求打包成一个业务

JMeter事务控制器详解:把多个请求打包成一个业务 一、什么是事务控制器在JMeter中事务控制器Transaction Controller是一种逻辑控制器用于将多个采样器Sampler组合在一起并将它们作为一个单独的事务进行计时和报告。1.1 为什么要用事务控制器性能测试的核心是模拟真实用户行为。用户的一个操作如登录往往包含多个HTTP请求请求登录页面提交登录表单跳转到登录成功页面如果只关注单个请求的响应时间就无法评估用户真实的体验。事务控制器的作用让你能回答“用户完成一次完整的登录操作到底需要多长时间”1.2 生活化类比一个HTTP请求 “服务员把汉堡拿给你”这个动作一个事务控制器 把“排队→点餐→付钱→等餐→取餐”整个流程打包在一起衡量二、如何添加事务控制器操作路径text右键点击线程组 → 添加 → 逻辑控制器 → 事务控制器给事务控制器命名如“用户登录操作”。在事务控制器下添加采样器text右键点击事务控制器 → 添加 → 采样器 → HTTP请求三、核心配置选项详解事务控制器有两个关键配置选项3.1 Generate Parent Sample生成父样本勾选状态效果适用场景勾选推荐只报告事务的整体结果子请求被聚合性能测试报告聚焦业务性能不勾选事务和内部请求都会单独报告调试定位问题看哪个步骤慢了勾选后的效果在聚合报告中你只会看到“用户登录操作”这一条记录包含其总耗时。不勾选的效果既能看到“用户登录操作”也能看到里面的“登录页请求”、“登录提交请求”等子请求。3.2 Include duration of timer and pre-post processors勾选状态效果勾选将定时器如思考时间和前后置处理器的耗时也计入事务不勾选推荐只计算采样器本身的执行时间建议通常不勾选此项避免定时器等非系统处理时间干扰测试结果获得更纯粹的系统处理时间。四、完整配置示例场景用户登录系统并访问主页Step 1添加线程组text线程数10 Ramp-Up时间5秒 循环次数1Step 2添加事务控制器text名称用户登录并访问主页 勾选Generate Parent Sample 不勾选Include duration of timer...Step 3在事务控制器下添加HTTP请求text├── 事务控制器用户登录并访问主页 │ ├── HTTP请求登录页面 (GET /login) │ ├── HTTP请求提交登录 (POST /login, 带用户名密码) │ └── HTTP请求访问主页 (GET /home)Step 4添加监听器查看结果汇总报告Summary Report查看结果树View Results Tree五、事务控制器与吞吐量的关系如果你用了事务控制器那“吞吐量达到200”指的就不是每秒200个请求而是每秒200个完整的业务流程如每秒200个用户成功完成登录。核心公式不变并发数 吞吐量 × 平均事务响应时间例如整个登录事务平均耗时0.5秒要达到200 TPS并发数需要text并发数 200 × 0.5 100个线程六、注意事项事务控制器只有在其所有子采样器都执行成功的情况下才会显示成功事务控制器可以嵌套但需要合理设计层级避免混淆配合吞吐量定时器使用可以精确控制目标TPS七、总结要点说明本质把多个请求打包成一个“业务操作”来测总耗时核心配置Generate Parent Sample决定看总账还是看明细最佳实践性能测试勾选父样本调试时不勾选价值让你知道用户真实的等待时间而不是零碎的小动作一句总结事务控制器 把多个请求打包成一个业务操作来测总耗时让你知道用户真正的等待时间。
返回列表