区块链 · 数字资产知识 · 行业资讯
文章库关于本站

研究与报告

区块链压力测试怎样定义负载|递增请求与固定速率测试的目标不同

摘要

压力测试报告中的TPS先要分清是计划发送量还是实际成功处理量。依据Caliper 0.7.1文档,拆解固定速率、线性变化速率和轮次设置,避免只凭一个峰值判断系统性能。

区块链算力的科技主题配图

读报告先找输入条件而不是峰值

一份区块链压力测试报告写出很高的TPS,并不能单独回答系统是否适合某项业务。读者首先需要知道发送的是什么请求、以怎样的节奏发送、持续多久,以及报告把什么结果算作成功。输入条件不同,数字即使相近,也未必在回答同一个问题。

本文只解释Hyperledger Caliper 0.7.1公开配置文档的读法,没有运行测试,也没有向第三方网站或节点施加负载。任何实际实验都应限于自有或明确获授权的隔离环境;这里的假设数字不能当作某条链、某台服务器或本站的性能成绩。

固定速率描述的是发送节奏

Caliper的fixed-rate控制器按设定节奏安排输入交易,tps表示所有worker合计的发送速率,不是每个worker各自达到的数字。例如,纯粹按配置口径理解,合计20笔每秒交给4个worker分担,不能再把20乘以4写成总负载。

固定输入适合提出这样的问题:在同一业务请求和相同输入强度下,延迟、失败情况是否发生变化。但配置目标不等于实际送达量,实际送达也不等于成功处理量。报告应分别列明这些指标,不能把发送端的设定值复制到成功吞吐量一栏。

区块链云计算平台的科技主题配图

线性变化速率用来观察负载变化过程

linear-rate允许输入速率在起始值和结束值之间线性变化,既可以递增也可以递减。它的起止速率同样是所有worker的累计值。与固定速率相比,这种设定提供的是一个变化中的输入过程,而非从头到尾保持同一强度。

假设两份报告分别采用固定输入和逐渐递增输入,即使它们最终给出相同的平均处理量,也不能据此认定表现一致。本文建议沿时间轴并排查看输入、完成量和延迟:缓慢阶段与拥堵阶段混在一个平均数里,可能掩盖读者真正关心的变化点。

每个轮次都需要明确结束条件和业务内容

基准配置中的txNumber描述该轮计划提交的交易数量,txDuration描述提交交易的持续秒数。它们说明测试轮次怎样安排,不应直接被解读为某段时间内已经成功完成的交易数量。workload模块则负责生成具体请求内容,不能只看控制器名称而忽略业务操作。

比较报告时,可以先记录轮次标识、请求类型、数据规模、worker数量和结束条件,再检查软件版本与环境是否一致。例如,读取既有数据与写入需要改变状态的数据,是不同的工作内容;没有说明差别就把两者放在一张性能排行榜中,比较依据并不充分。

把无法从报告推出的结论留下来

一份便于复核的阅读笔记,可以把配置目标、实际输入、成功数、失败数、统计时间窗和资源指标分列。Caliper配置将监控设置与轮次设置分别组织;如果原报告没有提供相应数据,笔记应写明缺项,而不是用输入速率推算出不存在的资源表现或零失败结论。

最后再问:报告有没有解释完成判定、采样范围和环境限制?若这些信息缺失,较稳妥的结论只是某份材料展示了特定条件下的一组数据。它不能自然扩大为全网容量、长期稳定性或任何真实业务服务承诺,更不能用一个峰值替代完整测试记录。

← 返回全部文章

延伸阅读 · 相关栏目

行业资讯研究与报告政策资料交易平台观察