feat(deploy): 通过 .env 配置内存预算和资源压力诊断 #17

Merged
wangbo merged 1 commits from codex/configurable-resource-policy into main 2026-10-20 10:51:46 +08:00
Owner

资源预算预检和宿主机诊断的固定阈值现在支持通过部署目录 .env 配置,默认继续使用 512 MiB / 25% 容器余量、1 GiB / 10% 宿主机预留、30 秒采样、512 MiB / 10% 可用内存阈值、10% memory/io PSI full 和 180 秒异常包冷却。原有后端/MongoDB 容器上限、堆/缓存字段继续可配。

Linux/Python 和原生 PowerShell 采用同一默认值、范围和读取优先级(进程环境 > .env > 默认),支持引号、行尾注释、UTF-8 BOM;仅解析允许的配置项,不执行 .env,不输出配置值或其他凭据。非法字段在重建前报错。标准 Bash/PowerShell 环境迁移补充缺失字段、保留自定义值及旧的显式 8192 MiB 堆,重复执行不改文件。

诊断安装器把新设置写入 diagnostics.json 与 atop 配置,并同步安装采集器依赖;旧 JSON 缺少新字段时保留原策略。采样与冷却可配置,修改 .env 后通过标准更新或重新安装诊断生效,运行中的业务容器无需为单独诊断设置重建。手动/启动变化的即时抓取行为保留。

验证:新增配置回归 10 项通过(最终 9.521 秒),既有内存/诊断 14 项通过;原生 PowerShell 配置用例、持久化位置保护、部署 dry-run、环境迁移、自动维护与真实 Docker 共享网络保留全部通过(9 组约 54 秒)。另在隔离的真实 Linux 容器中只复制安装所需两份 Python 模块,实际读取 /proc,自定义阈值触发并写出诊断包。Python/Shell 语法和 diff 检查通过。已把新用例接入 Linux/Windows CI;PowerShell 本机验证为 macOS pwsh,Windows 实机与远端 CI 另行核验。

仅合并部署源码和配置,不发布业务镜像、不更新客户服务器。

关联 PR:deploy #17、docs #11

合并前远端 CI 仍排队,未计作通过;现有分支无强制状态门禁,本机与真实 Linux 容器验证结果如上。

资源预算预检和宿主机诊断的固定阈值现在支持通过部署目录 .env 配置,默认继续使用 512 MiB / 25% 容器余量、1 GiB / 10% 宿主机预留、30 秒采样、512 MiB / 10% 可用内存阈值、10% memory/io PSI full 和 180 秒异常包冷却。原有后端/MongoDB 容器上限、堆/缓存字段继续可配。 Linux/Python 和原生 PowerShell 采用同一默认值、范围和读取优先级(进程环境 > .env > 默认),支持引号、行尾注释、UTF-8 BOM;仅解析允许的配置项,不执行 .env,不输出配置值或其他凭据。非法字段在重建前报错。标准 Bash/PowerShell 环境迁移补充缺失字段、保留自定义值及旧的显式 8192 MiB 堆,重复执行不改文件。 诊断安装器把新设置写入 diagnostics.json 与 atop 配置,并同步安装采集器依赖;旧 JSON 缺少新字段时保留原策略。采样与冷却可配置,修改 .env 后通过标准更新或重新安装诊断生效,运行中的业务容器无需为单独诊断设置重建。手动/启动变化的即时抓取行为保留。 验证:新增配置回归 10 项通过(最终 9.521 秒),既有内存/诊断 14 项通过;原生 PowerShell 配置用例、持久化位置保护、部署 dry-run、环境迁移、自动维护与真实 Docker 共享网络保留全部通过(9 组约 54 秒)。另在隔离的真实 Linux 容器中只复制安装所需两份 Python 模块,实际读取 /proc,自定义阈值触发并写出诊断包。Python/Shell 语法和 diff 检查通过。已把新用例接入 Linux/Windows CI;PowerShell 本机验证为 macOS pwsh,Windows 实机与远端 CI 另行核验。 仅合并部署源码和配置,不发布业务镜像、不更新客户服务器。 关联 PR:[deploy #17](https://git.51easyai.com/wangbo/easyai/pulls/17)、[docs #11](https://git.51easyai.com/BCAI/easyai-doc/pulls/11) 合并前远端 CI 仍排队,未计作通过;现有分支无强制状态门禁,本机与真实 Linux 容器验证结果如上。
wangbo added 1 commit 2026-10-20 10:50:54 +08:00
feat(deploy): 支持通过环境配置调整资源保护策略
Test deployment public URL (Linux) / test-linux (push) Canceled after 0s
Test start.ps1 (Windows) / test-windows (push) Canceled after 0s
Test deployment public URL (Linux) / test-linux (pull_request) Canceled after 0s
Test start.ps1 (Windows) / test-windows (pull_request) Canceled after 0s
73e3a2db34
wangbo merged commit 8fd17bd987 into main 2026-10-20 10:51:46 +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#17