性能测试新手求教:如何用Load Runner获取多系统间NET响应时间
刚好之前做过类似的跨系统链路性能测试,给你梳理下具体实现方法,分工具来讲,你可以根据自己的熟悉程度选:
用LoadRunner实现节点间响应时间统计
作为性能测试的老牌工具,LoadRunner可以精准拆分跨节点的时间窗口,步骤如下:
- 第一步:录制完系统1的完整脚本后,定位到系统1调用系统2的请求片段(比如HTTP协议的
web_url/web_submit_data,RPC协议的对应调用函数) - 第二步:在该请求的前一行插入事务开始标记:
lr_start_transaction("Sys1_to_Sys2"); - 第三步:在请求的后一行插入事务结束标记:
lr_end_transaction("Sys1_to_Sys2", LR_AUTO); - 第四步:重复上述操作,给系统2→系统3、系统3→系统n的请求分别命名对应事务(比如
Sys2_to_Sys3) - 运行脚本后,打开Analysis分析器,在「事务响应时间」报表里就能看到每个节点间事务的单次/平均响应时间,还能查看95%/99%百分位的性能数据
注意:如果脚本包含系统1的内部业务逻辑代码,务必确保事务只包裹跨系统请求的往返过程,不要把系统自身的处理时间算进去。
新手友好工具:JMeter实现方法
JMeter对新手更直观,无需编写复杂脚本:
- 第一步:添加一个「事务控制器」,命名为
Sys1_to_Sys2,勾选「Include duration of timer and pre/post processors in generated sample」(确保只统计跨系统请求时间) - 第二步:把系统1调用系统2的取样器(比如HTTP请求、RPC请求)拖到该事务控制器下方
- 第三步:给每个跨节点调用都创建对应的事务控制器
- 运行测试后,查看「聚合报告」或「查看结果树」,就能看到每个事务控制器的响应时间——这就是对应节点间的NET响应时间
- 额外技巧:如果要查看单次请求的精准时间,直接在「查看结果树」里看取样器的「Response Time」字段即可
快速验证:Postman实现单次请求时间统计
如果只是想快速验证单次请求的节点时间,Postman足够满足需求:
- 第一步:打开系统1调用系统2的请求,切换到「Tests」标签页
- 第二步:写入时间统计脚本:
// 记录请求开始时间 var startTime = new Date().getTime(); // 请求完成后计算并输出响应时间 pm.test("记录Sys1→Sys2响应时间", function () { var endTime = new Date().getTime(); var responseTime = endTime - startTime; console.log("Sys1→Sys2 单次NET响应时间: " + responseTime + " ms"); // 可选:将时间存入环境变量,方便后续批量查看 pm.environment.set("sys1_to_sys2_time", responseTime); });
- 第三步:点击「Send」发送请求,打开Postman控制台(左下角Console按钮)就能看到本次请求的节点间响应时间
- 如果要批量测试,可使用Newman命令行工具运行集合,将结果导出为CSV格式分析
新手必看注意事项
- 排除内部处理时间:确保事务只包裹跨系统的请求往返过程,不要包含系统自身的业务逻辑处理时间
- 消除网络波动影响:单次请求时间可能受网络抖动影响,建议多跑几次取平均值或查看百分位数据
- 适配不同协议:如果是RPC、Dubbo、gRPC这类非HTTP协议,LoadRunner和JMeter都有对应的插件/协议支持,方法类似——找到对应请求函数/取样器,用事务包裹即可
内容的提问来源于stack exchange,提问作者S.ai
相关产品推荐
相关产品推荐

