chore(deploy): add server native memory guards

This commit is contained in:
wangbo 2026-06-24 16:38:41 +08:00
parent cabee634d4
commit 5518039792
3 changed files with 18 additions and 0 deletions

View File

@ -23,6 +23,15 @@ WEB_PORT=3010
SERVER_HTTP_PORT=3001
# easyai-server 后端 HTTP 端口
NODE_MAX_OLD_SPACE_SIZE=1536
# easyai-server V8 heap 上限,单位 MB
MALLOC_ARENA_MAX=2
# 限制 glibc native heap arena降低 sharp/libvips 场景下 RSS 膨胀
SHARP_CACHE_ENABLED=false
# 默认关闭 sharp/libvips 全局 cache需要开启时再配置 SHARP_CACHE_* 参数
SHARP_CONCURRENCY=1
# sharp/libvips 并发8G 单机建议保持 1
# ws-gateway WebSocket 端口(统一作为对外访问映射端口使用)
CONFIG_WS_PORT=3002
# ws-gateway 容器内部 TCP 微服务监听地址(供 easyai-server 推送事件)

View File

@ -99,6 +99,12 @@ Windows 下使用 `update.ps1`,功能与 Linux 版一致:
## 重要更新记录:
### 2026.06.24
1. **主服务 sharp/native 内存护栏**`easyai-server` 默认关闭 sharp/libvips cache并将 sharp 并发限制为 1同时设置 `MALLOC_ARENA_MAX=2`,降低图片处理和大 Buffer 场景下 native RSS 持续膨胀风险。
2. **生图 base64 输出收敛**:模型返回的 base64 图片会先上传到 OSS返回对象和 raw/debug 响应中不再长期保留大 base64 字符串。
3. **重启要求**:该内存护栏必须在新进程启动时生效,更新后需执行 `docker compose up -d easyai-server` 或重建并重启主服务容器。
### 2026.06.22
1. **Redis 资源护栏**Redis 增加 `./data/redis:/data` 持久化挂载、`maxmemory 2gb`、`appendfsync everysec`,并禁用 RDB 快照,避免队列历史膨胀后占满内存和容器写层。

View File

@ -74,6 +74,9 @@ services:
- CONFIG_DB_MONGO_USERNAME=${MONGO_INITDB_ROOT_USERNAME}
- CONFIG_DB_MONGO_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD}
- NODE_MAX_OLD_SPACE_SIZE=${NODE_MAX_OLD_SPACE_SIZE:-1536}
- MALLOC_ARENA_MAX=${MALLOC_ARENA_MAX:-2}
- SHARP_CACHE_ENABLED=${SHARP_CACHE_ENABLED:-false}
- SHARP_CONCURRENCY=${SHARP_CONCURRENCY:-1}
# Redis配置队列缓存不会配置的话保持默认即可
- CONFIG_COMFYUI_QUENE_REDIS_HOST=172.21.0.4
- CONFIG_COMFYUI_QUENE_REDIS_PORT=6379