字体
大
中
小
关灯
上一章 回目录    收藏 下一页

第107章 花和辣椒(1/3)

周二早上,林泠在工位上收到了运维组发来的一封邮件。

标题是“数据迁移后首次月度校验报告”,正文不长,但附件里挂了一个将近二十兆的Excel文件。

他把文件下载下来打开,屏幕上展开了一张密密麻麻的数据校验表,行数超过四万条,每一行代表一个数据表的校验结果——表名、源库记录数、目标库记录数、差异量、差异率、校验时间戳、是否通过。

大部分行的“是否通过”列都标着绿色的“pASS”,但他的目光直接跳到了标红的那几行上。

三张表校验未通过。

差异率都不高,最高的一张只有百分之零点零三,另外两张分别是百分之零点零一和百分之零点零二。

他把这三张表的表名复制到数据库客户端里,逐张打开看结构。

第一张是用户行为日志表,存储的是用户在App上的点击流数据,每天增量写入量大约两百万条。

第二张是订单状态变更记录表,记录每一笔订单从创建到完成的所有状态流转节点。

第三张是实时推荐缓存表,存储推荐算法生成的个性化内容推送记录。

这三张表有一个共同点:都是高频写入表,数据写入峰值集中在每天晚上的八点到十点。

他把校验脚本的运行日志调出来,在屏幕上拉开。

日志一共两万多行,记录了三张表从数据抽取、转换、校验到生成报告的完整过程。

他没有逐行看,而是先定位了校验失败的具体时间戳。

第一条失败的记录出现在晚上八点十二分,最后一条是晚上九点四十七分。

全部集中在他预判的写入峰值窗口内。

接下来他花了将近一个小时排查原因。

在一条条核对时间戳的过程中,他注意到一个细节——在八点十二分到九点四十七分之间,三张表的源库写入量达到了每秒将近六千条,而目标库的同步通道带宽上限是每秒五千条。

写入峰值期间有将近百分之二十的数据被暂时缓存在消息队列里,等待目标库消费。

校验脚本是在目标库上直接运行的,它比对的是“目标库当前已写入的数据”和“源库当前已写入的数据”,而不是“目标库应该写入的全部数据”。

在写入峰值期间,目标库的同步存在一个三到五分钟的滞后,缓存队列里的数据还没有来得及写入,就被校验脚本判定为“缺失”。

这不是数据丢了,是校验窗口跟写入峰值发生了重叠。

校验脚本预设的等待时间不足以覆盖同步通道在峰值负载下的延迟。

他在排查文档里写了一行结论:“高频写入表的月度校验需要错开写入峰值窗口。

建议将校验任务的启动时间从晚上八点调整到晚上十一点之后,或者在现有校验逻辑中增加同步延迟容差参数,允许目标库在写入峰值期间存在不超过五分钟的数据滞后。”

他把排查结果整理成一封邮件回复给运维组。

发完邮件已经快十二点了。

林泠靠在椅背上转了转脖子,颈椎发出咔咔几声脆响。

窗外的阳光很好,初春正午的太阳照在办公楼的玻璃幕墙上,反射出一片晃眼的白光。

他站起来去茶水间接了杯水,路过小赵工位的时候被叫住了。
本章未完,请翻下一页继续阅读.........
上一章 回目录    收藏 下一页