讯果效率跃升:单条账号核验压到 0.6 秒

讯果账号核验耗时统计的实测界面

账号核验是讯果使用频率最高的动作。5.0 版对核验链路做了两处改动:连接复用与令牌桶限速。改动后,4,200 条账号记录在 16 路并发下的单条中位耗时从 0.8 秒降到 0.6 秒,整批用时缩短到 27 分 18 秒,默认参数失败率 0.28%。这不是换了更快的网络,而是把等待时间用掉了,通道在等的时候不再空转,也不再把时间花在重复的建连上。

4.x 系列的核验动作对每条记录新建一次连接,请求结束即关闭。单条看只是几十毫秒的开销,但在数千条的批次里会累积成可观的时间;更麻烦的是频繁建连容易被对端判定为突发流量,触发短时限流。产品组在 5.0 版本里把这两件事一起处理了,因为它们的根因相同:请求的节奏没有被统一管理。两条改动都落在传输层,不涉及核验动作本身的判断逻辑,因此结果口径与 4.x 完全一致。

连接复用与令牌桶限速

连接复用把同一通道的请求放在一条长连接上顺序发送,通道空闲超过 15 秒才释放。这样每条记录省掉一次握手与一次关闭,通道之间的连接数从条目数降到并发路数。实测在 16 路并发下,连接建立次数从 4,200 次降到 21 次,重连只发生在网络切换或者对端主动断开时,日常跑批几乎见不到重连。长连接的生命周期由通道管理,通道释放时连接一并关闭,不会留下悬挂的会话。

令牌桶负责控制节奏。每条通道有一个桶,按单条间隔发放令牌,间隔可以设到 0.1 秒。桶容量默认 1,意味着即使通道空闲很久,也不会一次性倾泻一批请求。引擎开发负责人陈屿在复盘会上说:「限速不是限制速度,而是把突发摊平。用户看到的单条耗时更稳定,失败原因也不再集中在超时这一类。」桶的容量与发放间隔都可以在参数面板里调整,调整后即时生效,不需要重启客户端。

两处改动配合的结果是核验耗时分布变窄。4.x 版本的单条耗时分布有明显长尾,少数记录因为建连重试拖到 3 秒以上;5.0 版本中 90% 的记录落在 0.4 至 0.9 秒之间,长尾明显收敛,队列推进的节奏也更可预期。对需要给上游承诺完成时间的团队来说,分布收敛往往比中位数下降更有价值。分布收敛之后,队列的预计剩余时间也更准,用户不必频繁盯着进度条判断要不要等。

4,200 条核验的耗时拆解

测试环境为 Windows 11 24H2、千兆宽带、16 路并发、单条间隔 1.2 秒,清单为 4,200 条账号记录,动作只跑有效性核验。三次执行取中位数:总用时 27 分 18 秒,单条中位耗时 0.6 秒,成功 4,188 条,待重试 12 条,失败率 0.28%。按通道平均,每条通道处理约 263 条,通道之间的推进节奏基本一致。渠道负责人简雪在验收时只提了一个要求:「把失败分类和参数的关系写清楚,别让运营以为催一催就能变快。」

同一批记录改用礼品卡余额核验动作时,单条中位耗时为 0.9 秒,原因是余额核验需要读取三项数据,往返次数更多。把并发提到 48 路后,账号核验整批用时降到 14 分 46 秒,失败率升到 0.41%,失败集中在两个网络抖动的时间段,重跑后成功 99.4%,说明失败并非记录本身有问题。两次高并发测试用的都是同一份清单与同一套动作,差别只在并发路数与间隔设置。

讯果账号核验在不同并发路数下的耗时与失败率对比
16 路与 48 路并发下的耗时与失败率对比,数据取三次执行中位数。

值得注意的是,单条间隔对总用时的影响比并发更大:把间隔从 1.2 秒压到 0.6 秒,总用时确实会缩短,但失败率会从 0.28% 抬升到接近 48 路时观察到的 0.41% 水平,失败条目也集中在超时一类。这说明在多数办公网络里,限制吞吐的是对端的接受节奏,而不是本机的处理能力。重跑只挑失败的那几条,不需要重新导入整份清单,这也是回执带编号带来的便利。

参数建议与失败分布

产品组给出的建议是分三步走:先用 8 路并发、1.2 秒间隔跑 50 条试批,看失败率是否低于 1%;稳定后每次加 8 路复测一次;找到失败率开始上升的拐点后回退一档,把参数存成任务模板。对大多数办公网络而言,16 路加 1.2 秒间隔是稳定区间,48 路留给网络专线且单条间隔充足的场景。间隔与并发是一组需要一起调的参数,单独调其中一个往往得不到最好的结果。

失败原因的分布也值得关注。在 12 条待重试记录中,网络超时 7 条,字段缺失 3 条,对端返回状态异常 2 条。前两类都可以通过调整参数或修正清单解决,第三类需要在回执里看具体状态码。引擎会把失败原因归入固定分类,重试时按原因筛选,避免把字段问题也一起重跑,白等一轮。字段缺失这类失败在回执里会指出缺的是哪一列,修完清单后再重跑即可,不必逐条核对。

这些改动对旧工作目录完全兼容:升级后不需要重新导入清单,断点续跑读到的进度文件会沿用原有格式。体验版同样享受核验链路的优化,只是并发上限仍为 4 路。需要更大并发与 XLSX 报表的用户,可以在下载中心升级到专业版,升级后原有的任务模板与历史回执都不受影响。如果团队已经习惯了 4.x 的参数,升级后可以继续沿用,新的核验链路不会改变原有语义。

上一篇讯果功能上新:清单字段智能对齐上线 下一篇讯果队列优化:断点续跑与回执对账同步落地
← 返回新闻列表

示例评论

以下评论为示例内容,用于展示版式,姓名均为化名。

唐
唐宇

我们一直用 16 路加 1.2 秒间隔,升级后一批 3,000 多条从四十分钟降到二十多分钟,失败记录也少了。

彭
彭佳

把间隔降到 0.6 秒试过一次,失败率确实上去了,还是按文章里的建议回退一档更稳。

秦
秦朗

喜欢回执里按原因分类这一点,字段缺失和网络超时能分开处理,重试不用整批重跑。

↑