RunnerGo性能测试入门 – 可视化压测报告与瓶颈分析

---

前言

大家好,我是性能测试专家。做性能测试8年,用过JMeter、LoadRunner、Gatling。最近深度使用RunnerGo做性能测试,发现它的可视化报告和操作便捷性真的很棒。今天分享RunnerGo性能测试的入门经验。 > 本文章参考RunnerGo v2.3官方文档 ---

一、RunnerGo性能测试模块介绍

功能定位

RunnerGo性能测试模块定位:

与JMeter对比

| 对比项 | JMeter | RunnerGo | |--------|--------|----------| | 配置方式 | XML脚本 | 可视化界面 | | 分布式 | 手动配置Agent | 内置支持 | | 监控集成 | 需配置Grafana | 内置监控 | | 报告分析 | 后处理 | 实时+历史 | | 学习难度 | 高 | 低 | ---

二、创建性能测试计划

测试计划配置

步骤: 1. 进入"性能测试"模块 2. 点击"新建测试计划" 3. 配置基本信息 配置项: `yaml 测试计划名称: 用户接口压测 测试计划描述: 测试用户相关接口在高并发下的表现 执行方式: 按并发数执行 `

场景配置

RunnerGo支持多种测试模式: | 模式 | 说明 | |------|------| | 并发模式 | 固定并发数压测 | | TPS模式 | 按目标TPS压测 | | 混合模式 | 多场景混合压测 | 并发模式配置示例: `yaml 并发用户数: 100 压测时长: 5分钟 预热时间: 30秒 步进时间: 10秒 `

接口配置

添加测试接口: `yaml 接口名称: 获取用户列表 请求方法: GET 请求URL: {{base_url}}/users 请求参数: page: 1 pageSize: 20 断言: - StatusCode == 200 - ResponseTime < 1000 ` ---

三、测试执行与监控

启动测试

点击"开始执行",RunnerGo会: 1. 按配置启动压测 2. 实时展示测试数据 3. 自动生成测试报告

实时监控指标

RunnerGo实时展示: | 指标 | 说明 | |------|------| | TPS | 每秒处理事务数 | | 响应时间 | 平均、最大、最小 | | 成功率 | 成功请求占比 | | 并发数 | 当前活跃线程数 | | 错误数 | 失败请求累计 |

监控图表

RunnerGo内置监控图表: ---

四、测试报告分析

报告概览

RunnerGo性能测试报告包含: 1. 执行摘要 - 总请求数 - 成功/失败数 - 平均TPS - 平均响应时间 2. 性能指标 - TPS分布 - 响应时间分布 - 错误率分析 3. 瓶颈分析 - 慢接口排名 - 错误类型分布 - 建议优化方向

关键指标解读

TPS(Transactions Per Second): | TPS值 | 性能评价 | |-------|----------| | > 1000 | 优秀 | | 500-1000 | 良好 | | 100-500 | 一般 | | < 100 | 需优化 | 响应时间: | 响应时间 | 用户体验 | |----------|----------| | 1000ms | 慢 |

瓶颈定位方法

RunnerGo报告帮助定位瓶颈: 1. 查看慢接口排名 - 找出响应时间最长的接口 - 分析是否有共性 2. 分析错误类型 - 超时错误:网络或服务瓶颈 - 500错误:服务端异常 - 429错误:限流触发 3. 对比历史数据 - 看趋势变化 - 识别性能退化 ---

五、压测策略选择

基准测试

目的:测试单接口极限性能 `yaml 配置建议: 并发数: 10-50 压测时长: 2-5分钟 目标: 确定单接口基准性能 `

负载测试

目的:测试系统正常负载下的表现 `yaml 配置建议: 并发数: 预估日常峰值 压测时长: 10-30分钟 目标: 确认系统稳定运行 `

压力测试

目的:测试系统极限承载能力 `yaml 配置建议: 并发数: 逐步增加直到系统崩溃 压测时长: 持续观察 目标: 找到系统瓶颈点 `

稳定性测试

目的:测试系统长时间运行稳定性 `yaml 配置建议: 并发数: 日常负载水平 压测时长: 1-24小时 目标: 检测内存泄漏、连接泄漏等 ` ---

六、常见瓶颈分析

服务端瓶颈

| 症状 | 可能原因 | |------|----------| | CPU高 | 计算密集、循环过多 | | 内存高 | 内存泄漏、大对象 | | 磁盘高 | IO密集、日志过多 | | 连接超时 | 线程池满、网络瓶颈 |

数据库瓶颈

| 症状 | 可能原因 | |------|----------| | 查询慢 | SQL未优化、缺少索引 | | 连接满 | 连接池配置小 | | 锁等待 | 锁竞争、长事务 |

网络瓶颈

| 症状 | 可能原因 | |------|----------| | 响应时间长 | 网络延迟、带宽不足 | | 超时多 | 网络不稳定、防火墙限制 | ---

七、压测最佳实践

压测前准备

1. 确认压测目标 - 预估用户量 - 确定性能指标要求 2. 准备测试数据 - 足够的测试账号 - 合理的测试场景 3. 通知相关方 - 告知运维团队 - 准备应急预案

压测执行

1. 渐进式压测 - 从低并发开始 - 逐步增加 - 观察系统反应 2. 监控配合 - 监控服务器资源 - 监控数据库状态 - 检查应用日志 3. 记录数据 - 保存压测报告 - 记录瓶颈点 - 建立性能基线

压测后分析

1. 对比基线数据 2. 定位瓶颈原因 3. 提出优化建议 4. 制定优化计划 ---

八、RunnerGo压测案例

案例:电商系统压测

测试场景: 压测配置: `yaml 总并发: 5000 压测时长: 30分钟 预热时间: 5分钟 场景分配: - 登录场景: 500并发 - 浏览场景: 3000并发 - 下单场景: 1500并发 ` 压测结果: | 接口 | TPS | 平均响应时间 | 成功率 | |------|-----|--------------|--------| | 登录 | 450 | 180ms | 99.5% | | 商品浏览 | 2800 | 350ms | 99.2% | | 下单 | 1200 | 520ms | 98.5% | 瓶颈分析: ---

总结

RunnerGo性能测试要点: | 环节 | 关键点 | |------|--------| | 计划创建 | 可视化配置、场景设计 | | 测试执行 | 实时监控、观察指标 | | 报告分析 | TPS、响应时间、成功率 | | 瓶颈定位 | 慢接口、错误类型、资源监控 | | 优化建议 | 缓存、索引、架构优化 | --- 下期预告:RunnerGo自动化测试编排 - 场景设计与定时任务配置
分享到:

探索 RunnerGo 全栈测试平台

RunnerGo 是一款面向企业的全栈测试平台,集接口测试、自动化测试、性能测试、UI测试于一体,助力企业提升研发效能。

接口测试
性能测试
自动化测试
UI测试
免费体验 RunnerGo