4.5 KiB
当前 Prism 整合包验收与配对测量
版本和环境
2026-09-26,工作区提交 47ea7ccdf0b98ae7fdd136d45f93837254011bf4。生产实现与 main 238e1bef15e38cdd6de559916b62a53677ae0ba9 相同,分支仅增加真实 TCP 背压测试及文档。该提交远端 Linux CI 9965/check 成功;本地完整回归 196 项通过,最终背压用例另在 Windows 和 Linux 通过。
Windows 11 / Ryzen 7 7800X3D;代理 Zulu 25.0.4.1,Uranium 后端 Zulu 8u492。使用当前 Prism Forge 10.13.4.1614 实例的 15 个 JAR,后端排除客户端专用的 Angelica、BetterRawInput,保留 13 个 JAR,启动后报告 23 个模组条目。Uranium 包 SHA-256:B16747D08BAD4B7C67DB8F1F41C9C31066FEAAAC22B527775F604BDFA885BAD2。后端沿用既有 legacy Netty 测试依赖;本轮未修改 Uranium 或原 Prism 实例。
真实客户端功能验收
已使用当前正版账号完成 Mojang HTTP 200 身份验证,并核对后端 UUID、皮肤属性和签名。两台装载上述模组的本机后端之间往返转服通过;随后连续 20 次交替转服全部达到 NETWORK_READY,真实客户端收到每次切换后的编号消息。21 次后端登录身份一致,最终保持连接至少 64.740 秒,12 个采样均只有一条活动后端连接。20 次代理切换日志耗时为 115–574 ms,p50 122 ms、p95 128 ms;不包含客户端渲染完成。
当前发行包的 DNS、Agent 发现烟测也通过:完成登录和 PLAY 转发;Agent 注销后现有连接继续转发,断开后在线数归零。
配对测量方法
真实模组后端配合协议探针与一次性 Bukkit 工作负载插件。两条路径均离线登录,关闭后端 Bungee 转发,使用相同玩家、同一后端、固定世界种子 123456789、视距 3。正版认证已由上面的独立验收覆盖。
每阶段 50 次预热、200 次计时请求,逐条等待并校验序号及全部 16 KiB 响应字节;每 25 次请求在两个预载位置之间切换,产生真实区块流量。执行顺序为 direct1、proxy1、proxy2、direct2、direct3、proxy3、proxy4、direct4。探针实现 FML 握手、Keep Alive 和位置确认,没有运行客户端渲染或模组玩法逻辑。
接受条件:所有响应完整匹配、无超时,每个正式阶段实际收到区块批量包。最终 1,600 次计时响应和 400 次预热响应全部通过;每阶段均有 8 次位置切换和 32 个区块批量包。计时区间读取的区块包体总量为 283,864–286,340 字节,存在少量世界状态差异。
| 阶段 | 响应/秒 | p50 ms | p95 ms | p99 ms |
|---|---|---|---|---|
| direct1 | 19.997 | 48.876 | 62.489 | 68.276 |
| proxy1 | 20.020 | 46.808 | 62.332 | 68.209 |
| proxy2 | 20.000 | 50.096 | 53.423 | 55.846 |
| direct2 | 19.992 | 48.739 | 62.386 | 64.454 |
| direct3 | 20.001 | 50.102 | 53.705 | 56.283 |
| proxy3 | 20.001 | 50.112 | 53.578 | 55.994 |
| proxy4 | 20.001 | 50.059 | 54.851 | 61.448 |
| direct4 | 20.002 | 50.138 | 53.390 | 55.858 |
原始 JSON 见 数据目录。两条路径均受约 20 Hz 的后端调度限制,延迟区间重叠,不能推出代理零开销、最大玩家容量或相较旧实现的性能提升。资源采样包含登录、预热和尾部排空;首轮后端 CPU 更高,不能将其直接解释为稳定的代理 CPU 开销。包体字节统计不包含外层长度前缀;尾部排空另计,不计入计时吞吐。
证据与复现边界
完整本地档案位于工作区同级 StrataProxy-Acceptance/:2026-09-26-prism-pack、2026-09-26-prism-soak、2026-09-26-prism-performance。保存了模组哈希、客户端/后端/代理日志、身份核验结果、工作负载源码、运行脚本及本次配置。账号凭据不进入档案或仓库。
性能档案的 harness/run-pack.ps1 按当时工作区布局使用 build/prism-pack-bundle 和已安装发行包;将 harness 放回 build/pack-performance 后,以 -Messages 200 -Warmup 50 -Repeats 4 复现。需要上述本地 Java、后端包及插件构建产物;它不是不带外部依赖的 CI 用例。
调试中曾修正测试配置的插件目录、探针 FML 包解析,以及 C06 位置包 feet/stance 顺序;错误位置确认的一轮没有产生计时区块流量,已废弃。本页仅报告修正后、强制验证区块包存在的完整八阶段结果。所有本轮启动的测试进程已退出。
这些证据覆盖指定整合包、单玩家、本机网络和有限观察窗口。并发生产容量及跨物理主机环境仍取决于实际部署;没有据此作容量承诺。