fix(deploy): 校验内存预算并采集资源压力 #16

Merged
wangbo merged 1 commits from codex/newfound-resource-network-safety into main 2026-10-20 10:11:15 +08:00
Owner

旧部署可使用 8192 MiB Node 堆而没有后端容器上限;内存回收和 I/O 等待已使整机失去响应,但现有 HTTP/容器异常触发方式无法提前记录资源压力。

为后端设置可配置的 3 GiB 容器上限与默认 1536 MiB 堆,MongoDB 上限/缓存可配置(默认 2500 MiB / 1.5 GiB),配套限制交换内存。Linux Python 及原生 PowerShell 在拉取/重建前校验预算,要求至少 512 MiB 且不少于容器 25% 的额外空间;保留宿主机余量,并对全部服务预算合计提示容量风险。单服务更新仅阻断目标服务的不安全预算。旧 .env 的显式堆值不会被覆盖,不一致时需按提示调整。

诊断器新增低可用内存、memory/io PSI full 压力触发和恢复事件,沿用采集冷却;不自动重启或发送外部通知。网络实现沿用主线已有的动态池隔离及旧网络保留策略,本次复验真实冲突、幂等更新和邻居容器保留,并清理测试自身的临时卷。

验证:

  • 内存预算/压力与 Python-PowerShell 一致性 6 项通过(3.527 秒),现有诊断/端口/固定地址 8 项通过(0.764 秒)。
  • 真实 Docker 复现旧地址池占用固定 IP,隔离池后启动成功;旧网络更新不改网络 ID、不影响非目标容器,Bash/PowerShell 路径通过。
  • 真实 Compose 渲染及 cgroup:官方 Node 22.22.0 后端镜像 3 GiB 容器/1536 MiB 堆;MongoDB 7.0.8、4.4.30 均确认 2500 MiB 容器/1.5 GiB WiredTiger 缓存。
  • PowerShell 在本机 macOS 的 pwsh 执行,未将其当成 Windows 实机验收;未做生产长期负载压测。

仅提交标准部署配置和脚本,不更新客户容器或改写正式镜像通道。正式稳定镜像发布后仍需备份、标准更新和业务验收。

关联 PR:backend #136、deploy #16、docs #10

补充合并前验证:CI 的 4 项任务仍处于 queued,近期主线任务也未启动,不能视为通过;仓库无强制状态门禁。本机额外执行现有公网地址、绑定地址、安全来源、Redis 持久化、完整 dry-run 矩阵、Bash/PowerShell 自动维护与环境迁移 8 组检查,全部通过(合计约 27 秒)。保留 Windows 实机及远端 CI 尚未完成的验证缺口。

旧部署可使用 8192 MiB Node 堆而没有后端容器上限;内存回收和 I/O 等待已使整机失去响应,但现有 HTTP/容器异常触发方式无法提前记录资源压力。 为后端设置可配置的 3 GiB 容器上限与默认 1536 MiB 堆,MongoDB 上限/缓存可配置(默认 2500 MiB / 1.5 GiB),配套限制交换内存。Linux Python 及原生 PowerShell 在拉取/重建前校验预算,要求至少 512 MiB 且不少于容器 25% 的额外空间;保留宿主机余量,并对全部服务预算合计提示容量风险。单服务更新仅阻断目标服务的不安全预算。旧 .env 的显式堆值不会被覆盖,不一致时需按提示调整。 诊断器新增低可用内存、memory/io PSI full 压力触发和恢复事件,沿用采集冷却;不自动重启或发送外部通知。网络实现沿用主线已有的动态池隔离及旧网络保留策略,本次复验真实冲突、幂等更新和邻居容器保留,并清理测试自身的临时卷。 验证: - 内存预算/压力与 Python-PowerShell 一致性 6 项通过(3.527 秒),现有诊断/端口/固定地址 8 项通过(0.764 秒)。 - 真实 Docker 复现旧地址池占用固定 IP,隔离池后启动成功;旧网络更新不改网络 ID、不影响非目标容器,Bash/PowerShell 路径通过。 - 真实 Compose 渲染及 cgroup:官方 Node 22.22.0 后端镜像 3 GiB 容器/1536 MiB 堆;MongoDB 7.0.8、4.4.30 均确认 2500 MiB 容器/1.5 GiB WiredTiger 缓存。 - PowerShell 在本机 macOS 的 pwsh 执行,未将其当成 Windows 实机验收;未做生产长期负载压测。 仅提交标准部署配置和脚本,不更新客户容器或改写正式镜像通道。正式稳定镜像发布后仍需备份、标准更新和业务验收。 关联 PR:[backend #136](https://git.51easyai.com/BCAI/comfy-server/pulls/136)、[deploy #16](https://git.51easyai.com/wangbo/easyai/pulls/16)、[docs #10](https://git.51easyai.com/BCAI/easyai-doc/pulls/10) 补充合并前验证:CI 的 4 项任务仍处于 queued,近期主线任务也未启动,不能视为通过;仓库无强制状态门禁。本机额外执行现有公网地址、绑定地址、安全来源、Redis 持久化、完整 dry-run 矩阵、Bash/PowerShell 自动维护与环境迁移 8 组检查,全部通过(合计约 27 秒)。保留 Windows 实机及远端 CI 尚未完成的验证缺口。
wangbo added 1 commit 2026-10-20 10:08:11 +08:00
fix(deploy): 校验内存预算并记录资源压力
Test start.ps1 (Windows) / test-windows (push) Canceled after 0s
Test start.ps1 (Windows) / test-windows (pull_request) Canceled after 0s
Test deployment public URL (Linux) / test-linux (push) Canceled after 0s
Test deployment public URL (Linux) / test-linux (pull_request) Canceled after 0s
7aebaf7945
wangbo merged commit c2bc04ea78 into main 2026-10-20 10:11:15 +08:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangbo/easyai#16