diff --git a/PERFORMANCE.md b/PERFORMANCE.md index b87c052..8325438 100644 --- a/PERFORMANCE.md +++ b/PERFORMANCE.md @@ -68,7 +68,19 @@ - 同期 eth0 出口每秒约 14–62KB,无宿主队列丢弃增量;这不足以判定具体哪一段运营商或云端限速产生丢包,未擅自更改共享反代/内核网络配置。 - 数据库聚合确认父图含 9 个节点、2 条边、2 张内嵌图片。JSON 文本约 477,646 字节,图片 src 合计 474,073 字符,约占 99.3%。原先设计让两张图片阻塞整张画布的数据读取。 -修复采用普通 personal SaaS 附件模式:一份原始附件、一份按需显示预览,快照仅引用附件。前端添加真实附件上传及显式旧图迁移;Core PR #15 提供单一 1024px 预览、权限检查和有界缓存。原图不替换,AI 继续取原始内容。图片独立加载后,结构读取不再受两张完整图片的传输时间阻塞。生产部署和指定画布迁移后的实际字节数/时间须重测后记录,不能把预计缩减当作已完成实测。 +修复采用普通 personal SaaS 附件模式:一份原始附件、一份按需显示预览,快照仅引用附件。前端添加真实附件上传及显式旧图迁移;Core PR #15 提供单一 1024px 预览、权限检查和有界缓存。原图不替换,AI 继续取原始内容。图片独立加载后,结构读取不再受两张完整图片的传输时间阻塞。生产部署及指定画布的迁移、重开实测见下方记录。 -后端 PR #15 已由用户合并为 b2ae48e,分支/PR #936/#937、主线 #940、部署 #941 均成功。Endoleap main 570cd53 已接入。业务数据尚需用户明确点击“优化图片加载”;目前未把上传接口、预览上线或模拟测试当成该画布已经完成迁移/提速。迁移前聚合与哈希基线保存在服务器 `/tmp/endoleap-canvas-diag-20261106T131903Z/migration-baseline.json`,当前版本 252、8 个父图节点、2 张内嵌图片。预期在下一次明确操作后核对哈希和真实下载字节/时间。 +后端 PR #15 已由用户合并为 b2ae48e,分支/PR #936/#937、主线 #940、部署 #941 均成功。Endoleap main 570cd53 接入,776b665 补充迁移确认状态。 + +### 生产迁移与重开验收(2026-11-06,Asia/Shanghai) + +用户明确点击“优化图片加载”后,父图版本 252 → 253。数据库 JSON 文本从 477,397 降至 3,708 字节(减少 99.22%);HTTP 紧凑响应为 3,471 字节,两种序列化口径不同。两张图片均不再内嵌,原始附件共 355,519 字节,其 SHA-256 与迁移前解码字节全部一致。8 个父图节点的 ID、几何及非图片引用内容哈希、边数组哈希全部一致。基线和验收摘要在服务器诊断目录 migration-baseline.json / migration-audit.json,仅含聚合和哈希。 + +- 22:27:35 的迁移保存:请求 3,456 字节,成功 200,耗时 992ms。 +- 22:28:54 的成功重开,trace bb47dc97:首响应 218.3ms,正文 1.3ms,总计 219.6ms,3,471 字节。对照此前 trace 1462ea3c 的 16,678.4ms / 正文 16,458.6ms;属于两次实测,不代表稳定延迟保证。 +- 子图读取 260.4ms;两张独立图片分别 36,958 / 125,154 字节、551.2 / 1,354.9ms,均完整完成,不再阻塞画布结构下载。这些不是浏览器绘制耗时。 +- 22:28:49 另有一次 1,863.4ms 后、零正文的 ResponseAborted,随后出现新的页面初始化与成功请求。日志不能单独证明取消的具体原因,不将它描述为 15 秒超时或无错误。 +- 重新打开后没有新增 canvas-save / canvas-dirty 日志,服务端仍为版本 253;原图与结构哈希再次一致。本次只读重开未触发 PATCH。 + +本次修复消除了内嵌图片对整个快照的阻塞、统一短截止造成的正文中断与视角变化触发全量保存。公网链路仍可能抖动;已确认 TCP 重传及拥塞窗口收缩,但未定位具体物理丢包跳点,也未更改共享反代或内核配置。不能声称网络丢包已被修复。 diff --git a/VALIDATION.md b/VALIDATION.md index 7671967..f5e5d5c 100644 --- a/VALIDATION.md +++ b/VALIDATION.md @@ -49,6 +49,6 @@ - 新图片使用受管附件;旧图仅在用户明确点击后迁移,字节保持原样,快照不保存预览地址。 - 单元测试增加字节一致性、重复图片去重、幂等重试、失败不替换、V1 兼容和渲染 URL 分离;共 84 项通过。 - DOM 回归确认只读打开/缩放零 PATCH、显式迁移一次上传、位置和边不变、画布使用预览而快照保存原图引用;原有 AI/子图/连线回归通过。 -- 同步 TCP/数据库证据及隐私边界见 PERFORMANCE.md。Core PR #15 已由用户合并为 b2ae48e;分支/PR CI #936/#937、主线检查 #940 和部署 #941 全部成功。当前仍等待用户明确执行旧图片迁移与重开日志,尚未完成实际画布的提速验收。 +- 同步 TCP/数据库证据及隐私边界见 PERFORMANCE.md。Core PR #15 已由用户合并为 b2ae48e;分支/PR CI #936/#937、主线检查 #940 和部署 #941 全部成功。用户已明确执行迁移与重开,生产验收完成:父图版本 252→253,两张原图 SHA-256 一致,节点/内容/边哈希一致;数据库 JSON 477,397→3,708 字节。成功重开请求 219.6ms(正文 1.3ms),独立图片 551.2/1,354.9ms,随后无新增保存且版本保持 253。另一次零正文取消请求与网络波动限制见 PERFORMANCE.md。 - 最终前端检查:TypeScript、84 项测试、完整 DOM 回归、隔离 Webpack 构建和 API 冒烟均通过(包括 15.2 秒慢正文、原图/预览参数及响应头)。 - 最后补充:图片按需加载/异步解码;优化提示保持到版本保存确认后才消失,并阻止与新图片上传重叠。延迟保存的 DOM 回归和最终隔离构建通过。