外观
站点元数据查询有界化
写前事实与边界
中断1Hz新a02五轮及分离审核限定E4通过,28/66;当前仅其交付闭环,磁盘未开始。Node24.19.0/1024MiB构建在1.320秒被32后代守卫停止,实际峰进程45、采样聚合414,547,968B,退出324,616,192B、SIGTERM一次、无强杀,源1185文件/21,003,138B稳定。知识66项门通过,bundle未完成,旧dist不能冒充新成功产物。该失败完整保留,不提高资源门或反复搜索堆大小。
锁定VitePress1.6.4源码的getGitTimestamp每个未缓存文件会spawn一次git log;缓存只存完成值,不存pending promise,bundle转换可同时触发大量查询。当前启用lastUpdated。该机制与进程突增相符,但首轮未保存进程名,不能认定45个全是git。buildConcurrency只管搜索/SSR,不改它冒充限制bundle转换。默认Footer根据page.lastUpdated显示,不直接依赖global lastUpdated布尔。
定稿方案
仅site构建元数据路径:关闭内建无界查询,在transformPageData恢复同一个page.lastUpdated;显式frontmatter Date优先、false不显示、无历史不显示、真实Git时间保持UTC毫秒。按实际源filePath查询,缓存同页promise、固定并发4、缓存≤4096页、单Git调用5秒/4KiB输出;不改知识正文、归档内容、日期格式或时区显示。不改依赖锁或node_modules,不影响产品/手机/指标原件。Git查询错误显式拒绝,不能伪造日期。
主线O(P次独立文件查询),并发4、重复文件O(1);预计本规模0.5–5秒元数据、内存≤2MiB,整体构建仍180秒/1536MiB、后代≤32,Node24/1024MiB不变。用Node内建窄控制验证共享pending、4并发/正确slot移交、失败释放、Date/false/无历史与实际Git epoch一致;不重复历史产品测试。新构建另独占输出、记录达到峰值的进程名称分类及聚合RSS/退出峰值/CPU/wall,源与锁SHA前后核同。新实现若仍失败则保留partial,不继续堆参数试探。
相对旧无界查询的基准保留上述真实失败;控制另用相同真实页规模模拟查询比较最大并发、调用数和wall,模拟不是Git硬件吞吐或产品E4。最终整站构建和源码级并发上界分别证明资源与设计,不把改动成功外推为生产发布。Cloudflare认证及Webhook仍需本机安全配置。
Implementation Update · 2026-10-19
新增site/.vitepress/git-last-updated.mjs,配置只替换内建Git元数据路径;Node内建4控制全部通过(128.5ms),真实已跟踪页Git epoch核同。pending promise一次缓存、四slot直接移交、失败释放且失败请求不重试;显式Date/false与缺文件语义保持,异常路径明确拒绝。未改产品/依赖锁,也未加新的手机调用。
实际544个源Markdown/6,974,075B的相同2ms异步读模拟:旧峰544并发/2.290ms wall/2.311ms CPU,新峰4并发/345.675ms wall/8.424ms CPU,均544次查询且结果相同。降低并发会增加等待,这是预期取舍;不是Git吞吐或真实构建耗时。进程累计峰值约57.75/59.90MB,heap差受GC影响一正一负,不归因为缓存节省;I/O峰值未知。
下一新独占有界Git整站验证,Node24/1024MiB/180秒/1536MiB/32后代不变;记录峰值进程名称以区分假设与实测。如成功,将实测和结果归档落盘后,以同配置一次最终发布源构建覆盖实际提交内容;后者属于文档闭环后的源验证,不重放失败或搜索新堆。任一失败停止本路线。Cloudflare认证缺口不因此解除。
Validation Update · 2026-10-19 · 进程上界成立,整站资源失败
新独占构建实际峰值7个后代:2个Node、1个esbuild、4个Git,元数据并发边界由真实进程名称确认;不能反推首轮45个全是Git。1188源文件/21,012,129B构建前后SHA核同,依赖锁未变,知识66项门通过。整体5.157秒/CPU11.519秒,聚合RSS1,650,884,608B超过1536MiB(1,610,612,736B)40,271,872B,守卫一次SIGTERM、无强杀,退出高水位1,542,144,000B另列。尚未完成bundle/全站链接验收,旧2378文件/94,481,172B dist仅是旧/部分产物规模,不能冒充本次成功。
4项软件控制和固定4并发实现成立,整站构建仍partial,取消仅在成功后才执行的最终发布源构建,不放宽预算、不继续调堆、不换更轻页面或删归档。三次旧构建(Node25默认超RSS、768MiB OOM、Node24未有界45进程)及本次失败均完整保留。后续先另立有归因证据的bundle资源修复方案,并准备本机Cloudflare认证,再继续发布。当前仅28/66中断交付,不进入磁盘。