仅注释变更,**无行为变更**。EGG_WORKERS 实际由 deploy/.env.production 注入 +
deploy/start-backend.sh 兜底决定,本次把注释里写死的旧口径同步为 2,避免
「注释与配置漂移」再次误导后人。
- app.js:
· 「生产显式设为 4」-> 2
· 「4×20=80(安全)」->「2×20=40(安全)」
· 「本地 dev 也会加载 .env.production,其中写着 4」-> 2
· 「dev 下真 worker=1 却报 4×20=80」-> 2×20=40
- config/config.default.js:
· 「生产值写在 deploy/.env.production(EGG_WORKERS=4)」-> 2(并注明 2026-09-29
R40 由 4 校正为 2)
· 「4 × 20 = 80」->「2 × 20 = 40」
· pool 段「worker 数由 EGG_WORKERS 显式控制(生产 = 4)」-> 2
· 「本机/多数服务器为 8 核 → 8 个 worker」->「核数越多起得越多(开发机 8 核 → 8 个)」
(原文把"8 核"当成多数服务器的事实,与实测的 2 核服务器不符)
背景(R40 · BACKLOG C2):worker 数 ≈ CPU 核数。worker 数 > 核数对 CPU 型路径
(bcrypt 登录)**零收益** —— 加 worker 不加核(native bcrypt 走 libuv threadpool),
只增加 context switch 与内存(单 worker 空闲 RSS ≈108MB)。登录容量由物理核数
决定(实测 ≈12.6 次/核·秒)⇒ 2 与 4 的登录容量相同。连接池 2×20=40 ≤ 151-20 ✅
验证:node --check app.js / config/config.default.js 通过;
verify-c1c2.py 含「五处文档/代码注释已无旧口径「4」残留」断言(24/24 通过)。
5.5 KiB
5.5 KiB