主题
压测验收工具:工具概览
压测验收工具是 DaxPay Plus 的容量验收工具:Go 单二进制 + 内置 Web 管理台,文件存储、零前端构建链。两条主线——对开放网关接口施压测出吞吐边界,直连 PostgreSQL 造订单数据验证规模拐点,产出可离线留档、可横向对比的 HTML 报告。
管理台默认地址
http://127.0.0.1:19700。
文档编写中
本页为工具概览;安装部署、场景包编写、报告解读与跨机压测等完整章节仍在编写。当前请以交付包内 README.md 与技术支持为准,完整正文上线后本页与导航同批更新。
适用角色与场景
| 角色 | 用途 |
|---|---|
| 实施、运维 | 上线前容量验收,产出可留档的压测报告 |
| 架构、开发 | 定位慢查询、连接池与索引失效点,验证扩容方案 |
| 售前、POC | 用实测数据支撑容量规划与机器采购 |
两条主线
| 主线 | 压什么 | 怎么压 | 产出 |
|---|---|---|---|
| 开放 API 吞吐边界 | 主应用 /unipay/**(支付、退款、关单、网关、预授权、分账等) | 模拟联调通道承接通道侧,按 TPS 阶梯施压至崩点 | TPS-延迟曲线、稳定上限与崩点、瓶颈归因 Top 2 |
| 数据量性能 | 订单数据规模 | 直连 PostgreSQL 用 COPY 造 10 万 / 100 万 / 500 万级订单 | 列表查询基准、数据量阶梯、EXPLAIN 与慢查询定位 |
推荐容量按「稳定上限 × 0.7」给出:连续满足 SLA(p99、错误率、背压)的最高 TPS 为稳定上限,首个失败档为崩点。
管理台与常用命令
管理台页面:总览、压测、实时任务、造数、查询基准、阶梯实验、报告、配置、关于。发起压测前必须先完成体检,FAIL 阻断,WARN 需逐项确认。
| 命令 | 说明 |
|---|---|
perfctl serve | 启动管理台(默认仅监听本机 127.0.0.1:19700) |
perfctl doctor --capacity --tps N --duration 60s | 开压前体检,生成体检报告 |
perfctl run --scenario scenarios/pay-barcode.yaml | 执行压测场景 |
perfctl datagen --dataset datasets/orders-1m.yaml --yes | COPY 造订单数据 |
perfctl clean --tag PERF-1M --yes | 按 tag 清理造数 |
perfctl dbcheck --queries queries/orders-baseline.yaml | 列表 SQL 计时 + EXPLAIN |
perfctl ladder --experiment experiments/volume-ladder.yaml --yes | 数据量阶梯实验 |
perfctl report --run run-... | 生成离线自包含 HTML 报告 |
内置场景覆盖 ping、付款码支付、混合支付、退款、关单、网关、预授权、分账、对账、回调、长稳与 ramp-to-break。
使用前提
- 准备独立压测库(默认
daxpay4-perf),初始化 schema 与种子数据; - 一键准备压测商户、应用、公钥、模拟通道商户与路由;
- 把主应用指向压测库并重启——工具不启停主程序、不改主程序配置、不切库;
- 模拟联调通道容量设为不限或大于本轮总单量,容量场景关闭自动回调;
perfctl doctor的数据库、绑定与 mock 检查全部 PASS 后开压。
安全红线
- 只允许内网目标;目标库名含生产标识一律拒绝执行;
- 开发库写入需显式
--allow-dev-db,报告会标注开发库口径; - 管理台无鉴权且可发起压测、造数等写操作,仅限可信内网;对外必须前置带鉴权的反向代理;
- API、报告与日志中的密码、传输密钥、私钥一律脱敏展示。
获取与版本
压测验收工具随全渠道版起附带源码交付,不单独销售;版本与授权范围以商业版合同为准。