|
|
il y a 19 heures | |
|---|---|---|
| .. | ||
| BRIEF.md | il y a 19 heures | |
| README.md | il y a 19 heures | |
| browser-case.mjs | il y a 19 heures | |
| browser-paired.mjs | il y a 19 heures | |
| concurrency-result.json | il y a 19 heures | |
| concurrency.mjs | il y a 19 heures | |
| diagnose.mjs | il y a 19 heures | |
| live-warm-verification.json | il y a 19 heures | |
| paired-api.mjs | il y a 19 heures | |
| prepare-infrastructure.mjs | il y a 19 heures | |
| ratchet.json | il y a 19 heures | |
| release-verification.json | il y a 19 heures | |
| release.json | il y a 19 heures | |
| release.mjs | il y a 19 heures | |
| rollback-rehearsal.json | il y a 19 heures | |
| rollback-web.py | il y a 19 heures | |
| server-util.mjs | il y a 19 heures | |
| summarize.mjs | il y a 19 heures | |
| summary.json | il y a 19 heures | |
| upgrade-infrastructure.mjs | il y a 19 heures | |
| verify-live.mjs | il y a 19 heures | |
| warm-live.mjs | il y a 19 heures | |
| 实验日志.md | il y a 19 heures | |
| 验收报告.md | il y a 19 heures | |
需要已有运营会话配置以及环境变量 XIAOSHU_MASTER_KEY,不得将密钥或原始业务响应提交。server-util.mjs 的临时入口只绑定指定运营账号且一小时过期,finally 删除。原始 JSON/截图保存在 git 忽略的 tmp 目录;公开统计只包含耗时、等价性和检查结果。
node --test scripts/tests/payroll-integrity.test.mjs scripts/tests/payroll-incremental-reads.test.mjs scripts/tests/launch-fixes.test.mjs scripts/tests/payroll-preview-cache.test.mjs scripts/tests/admin-read-performance.test.mjs scripts/tests/store-payroll.test.mjs
npm run test:admin:ci
npm run cloud:validate
npm run build:admin
node perf/admin-speed-round2-2026-11-10/concurrency.mjs
# 不要与重负载测试同时运行;后台版本须与已准备的候选一致。
PERF_RUNS=10 node perf/admin-speed-round2-2026-11-10/browser-paired.mjs
PERF_COLD=1 PERF_PAGES=payroll-complete PERF_RUNS=10 PERF_OUTPUT=api-cold-paired.json node perf/admin-speed-round2-2026-11-10/paired-api.mjs
浏览器比较已上线的上一版(基线 3b02ba0 / 前端产物 7b8eaba)与当前候选,AB 顺序逐轮倒转,各 10 轮。两版均生产构建、相同 gzip、20 ms / 4 Mbps 下行 / 3 Mbps 上行、每次新上下文。费用测到完整核验;旧版金额先出现的时刻另记。对象键排序后比较所有汇总业务值,仅排除刷新时间、缓存命中与延迟秒数;老师明细在两版都实际打开,逐行比较与同一老师的原完整响应一致。API 完整响应另做全量等价比较。
PERF_COLD=1 只清空测试帐套的派生缓存,不改变业务记录/财务状态。此模式须在公开切换前、没有其他测试并行时使用;模拟所有结果均需重建的保守情况。正常版本复用仍逐次检查当前依赖,真实数据提交后失效。
数据库部署只增加派生对象及快速读 helper,原始 sources/source_version/cutoff_snapshot/commands 不变。当前发布过程由 prepare-infrastructure(初装)、upgrade-infrastructure(已验证派生 helper 升级)和 release(精确网关补丁)完成。每个阶段有私有原件、哈希及回执。第二次安装不得覆盖原件;源码变化须重新验证、准备。
回滚先恢复原网关,再在定义无漂移时执行 payroll-read-rollback.sql 删除派生触发器/函数/表。release.mjs rehearse 实际执行删除后强制事务回滚,核对恢复与原始财务函数未变;release.mjs rollback 执行正式回退。静态站保留原版本所有哈希资源,通过 python3 perf/admin-speed-round2-2026-11-10/rollback-web.py --apply 恢复私有发布目录 admin/baseline 的 deployment-version.json 和 index.html,再刷新 CDN,回读版本与深路由。不得清空静态桶。
变更日志是追加数据,不能凭时间或最大 ID 随意清理:必须同时使旧缓存及在途构建失效,否则会破坏乱序提交保护。现阶段未增加定时任务或未经验证的清理流程。