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

研究与报告

区块链性能分析怎样读延迟|计时起终点与样本分布一起核对

摘要

延迟数字只有在起止事件、时钟和样本口径一致时才便于比较。结合交易生命周期与浏览器计时文档,梳理入块和最终确定的区别、局部计时限制以及平均值容易遗漏的长等待,不提供未经实测的网络排名。

区块链扩容协议的科技主题配图

先把一次等待的起终点写清楚

区块链性能分析中的延迟,不是脱离场景的单一数字。计时从用户点按钮开始,还是从应用收到提交响应开始,已经会得到不同区间。终点若一个采用首次观察到入块,另一个采用最终确定,两份报告即使都写毫秒,也不能直接据此判断哪个系统更快。

Ethereum交易文档把广播进入待处理集合、被纳入区块及后续最终确定分成不同阶段。用它阅读报告时,应先标出测量覆盖哪些阶段,而不是把区块间隔当作每笔交易等待。本文据此提醒:若页面定时查询后才发现状态变化,记录的还是观察到事件的时刻,可能包含查询间隔。

局部时长与日历时间不要混减

MDN说明,performance.now()返回相对timeOrigin的毫秒值,使用不随系统时钟校正而倒退的单调时钟;Date.now()则采用纪元时间和系统时钟。对同一计时环境中的局部操作,前后两次读数相减有明确含义,但不能拿一个页面的相对读数直接减另一个不同基准的读数。

文档还指出,设备休眠期间是否持续计时存在浏览器与系统差异,时间精度也受环境限制。因此,长时间等待记录应注明页面重载、休眠或测量中断,不能仅因数字保留多位小数就宣称准确。跨设备汇总之前,应先解释各自的时间基准和异常处理方法。

区块链虚拟机源码的科技主题配图

平均值不会告诉你全部等待经历

下面用一组纯粹构造的数字说明分布:五次耗时为100、100、100、100和600毫秒,总和1000,平均值是200毫秒,中位数是100毫秒。它不是任何区块链的实测数据。只读平均值会漏掉那次较长等待,只读中位数同样无法说明末端发生了什么。

分位数试图描述排序后的位置,但报告仍需说明采用的算法和样本数量。不能拿五个构造值包装成可靠的真实网络P95结论,也不能把不同样本范围的分位数混在一张排行表。更有用的展示是把分布、数量和统计口径放在一起,让读者知道数字覆盖谁、遗漏谁。

未完成样本保留状态,不填成零

阅读统计表还应问:观察结束时未完成的记录放在哪里?如果只展示完成样本,应同时给出未完成和失败的数量及定义;把缺失耗时填成零,会把未知等待伪装成即时完成。这是本文的统计口径建议,不是某条链的协议规则,也没有据此发起真实交易或压力测试。

一份可复核的延迟说明,至少应交代起止事件、时钟基准、单位、观察窗口、有效样本数和排除原因。应用版本、查询频率或计时环境改变时,也应保留对应说明。先比较测量方法是否一致,再讨论数值差异,才能避免将浏览器局部体验误写成整条链的处理能力。

← 返回全部文章

延伸阅读 · 相关栏目

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