Skip to content

功能、适用范围与资源需求 ​

写给要评估 SoftProbe 的人:它能做什么、适用于什么样的系统、对被测服务有什么影响、平台需要多少资源。

能做什么 ​

功能说明
流量录制在 Java 服务的启动参数里加上 Agent,不改业务代码,就能录下入口请求、响应,以及对数据库、缓存、下游服务的调用
流量回放把录下的请求发给测试环境的新版本;依赖调用可以用录制结果应答,测试环境不必准备全部依赖
自动对比逐字段对比录制和回放的结果,用对比规则忽略时间戳、随机 ID 等每次都变的字段
回放报告给出结论,把没通过的用例按原因分类;接入 AI 诊断后,自动分析差异是否由代码改动引起,并定位到代码。可导出 Excel、PDF
固化用例把重要的录制长期保留,反复回放
定时回放、流水线回放每天定时自动回放;发版后由流水线调用接口触发回放,按结论决定是否继续发布,结果推送到飞书、钉钉或自己的系统
数据保护录制的报文加密后落库;在页面上查看时按规则脱敏显示
多种使用方式控制台、sp 命令行、回放触发 Open API;AI 代理可以通过命令行操作

适用范围 ​

  • 语言:Java,JDK 8、11、17、21。
  • 框架和中间件:常见的 Web 框架、HTTP 客户端、数据库访问、缓存、RPC 框架都支持,完整清单见 支持的 Java 版本与框架。清单外的框架,由 SoftProbe 在接入前评估和适配。
  • 回放入口:HTTP/HTTPS,以及 Dubbo 等 RPC 入口。
  • 部署:SoftProbe Cloud;或私有化部署在单台服务器(All-in-One)或 Kubernetes 上,可完全离线运行。

对被测服务的影响 ​

关注点说明
接入方式启动参数加 -javaagent 等几个参数,重启服务;不改代码,不需要额外的服务器
内存Agent 与服务共用 JVM 内存,请为服务预留约 512 MB;报文很大(MB 级)或调高采样率时多留一些
录制量默认每个实例、每个接口每分钟约录 1 条,不是全量;可在「录制配置」里调整
上报方式录制数据由后台线程上报,业务请求不等待网络;缓冲区满时直接丢弃,不等待空位
平台出故障时待上报数据放在有上限的内存缓冲区里,满了就丢弃新数据,不会无限积压;上报连续失败时自动降低采样率,平台恢复后自动恢复,不需要重启服务。详见 接入 Java Agent — 生产环境保护
CPU、内存偏高时Agent 自动进入保护状态,降低采样率,直到占用回落
回退去掉新增的启动参数,重启服务即可恢复原状

回放对目标服务的压力 ​

  • 默认每秒最多向目标发 5 条请求(回放计划里的一个目标地址按一个实例算)。在「回放配置」里可以修改默认值。
  • 单次回放可以选择:标准(遇到错误自动降速)、串行(一条跑完再发下一条),或固定总 RPS(压测用)。标准模式可以设倍速,0.25× 到 4×。

平台资源 ​

单机部署(All-in-One),整套平台装在一台 Linux 服务器上(x86_64 或 arm64):

项目建议说明
CPU8 核,最低 4 核核数越多,同时能处理的回放和对比越多
内存16 GB不使用 AI 诊断时 8 GB 即可
磁盘100 GB主要存放录制数据和日志,按保留期自动清理;报文很大、接口很多或采样率很高时需要更多

准备清单和网络策略见 部署前准备;Kubernetes 部署的资源需求见 Kubernetes 部署(Helm)。

数据安全 ​

  • 录制的请求和响应报文加密后写入数据库,支持 AES-GCM 和国密 SM4-GCM。标准镜像和 Helm 部署默认开启;密钥在部署时配置。
  • 脱敏只影响页面展示:在控制台查看报文时,按规则把敏感字段打码。数据库里保存的是加密后的完整报文,回放需要原始报文。
  • 私有化部署时,数据保存在你自己的服务器上;不启用 AI 诊断和消息通知时,平台不需要访问互联网。

捕获 Session · 审查 Steps · 改进关键所在