chore(deploy): 资源默认值适配 4 核 8G 共用服务器

- postgres mem_limit 1.5g/shared_buffers 384MB/effective_cache_size
  4GB/work_mem 16MB/maintenance_work_mem 256MB
- backend mem_limit 768m、cpus 1.5;web 保持不变
- 生产与开发编排、env 模板、运维文档同步更新
This commit is contained in:
yml2213
2026-08-30 14:07:39 +08:00
parent 6dcdec43f1
commit 737c957bb3
4 changed files with 26 additions and 25 deletions
+8 -8
View File
@@ -8,7 +8,7 @@ services:
postgres:
image: docker.m.daocloud.io/library/postgres:16-bookworm
# 开启 pg_stat_statements,便于定位生产环境累计最耗时的 SQL。
# 内存类参数按 2G 内存机器给出默认值,请按服务器内存调整(见 .env.server.example)。
# 内存类参数默认按 4 核 8G 且与其他服务共用的服务器设置(见 .env.server.example)。
command:
[
"postgres",
@@ -19,17 +19,17 @@ services:
"-c",
"log_min_duration_statement=${POSTGRES_LOG_MIN_DURATION_STATEMENT_MS:-500}",
"-c",
"shared_buffers=${POSTGRES_SHARED_BUFFERS:-256MB}",
"shared_buffers=${POSTGRES_SHARED_BUFFERS:-384MB}",
"-c",
"effective_cache_size=${POSTGRES_EFFECTIVE_CACHE_SIZE:-1GB}",
"effective_cache_size=${POSTGRES_EFFECTIVE_CACHE_SIZE:-4GB}",
"-c",
"work_mem=${POSTGRES_WORK_MEM:-8MB}",
"work_mem=${POSTGRES_WORK_MEM:-16MB}",
"-c",
"maintenance_work_mem=${POSTGRES_MAINTENANCE_WORK_MEM:-128MB}",
"maintenance_work_mem=${POSTGRES_MAINTENANCE_WORK_MEM:-256MB}",
]
restart: unless-stopped
# 让 PostgreSQL 优雅关闭有足够时间完成检查点;无限制时 OOM 可能拖垮整机。
mem_limit: ${POSTGRES_MEM_LIMIT:-1g}
mem_limit: ${POSTGRES_MEM_LIMIT:-1.5g}
cpus: ${POSTGRES_CPUS:-2}
shm_size: 512mb
stop_grace_period: 60s
@@ -61,8 +61,8 @@ services:
NPM_REGISTRY: ${NPM_REGISTRY:-https://registry.npmmirror.com}
restart: unless-stopped
# 30s 让后端在 SIGTERM 后完成优雅关闭(HTTP 连接收尾 + 数据库连接池释放)。
mem_limit: ${BACKEND_MEM_LIMIT:-512m}
cpus: ${BACKEND_CPUS:-1}
mem_limit: ${BACKEND_MEM_LIMIT:-768m}
cpus: ${BACKEND_CPUS:-1.5}
stop_grace_period: 30s
env_file:
- .env