feat(status): 启用 pg_stat_statements,运行状态页显示最慢 / 最频繁语句与各表死元组;PG 调低 random_page_cost
- docker-compose.yml 的 postgres 加 shared_preload_libraries=pg_stat_statements、pg_stat_statements.track=top; 要重建 postgres 容器才生效(docs/runbook/storage.md) - GET /system/storage 的 db.statements:平均最慢(调用 ≥ 10 次)与调用最多各 5 条;没装扩展 / 没预加载时 enabled=false 并说明原因 - 运行状态页「存储」:体积最大的表加死元组列,新增「数据库语句统计」 - random_page_cost 4 → 1.1(PG_RANDOM_PAGE_COST):库整个在内存里,缺省值高估随机读 Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
1 parent
8c8b252667
commit
63bbcf3cdb
5 files changed
+163
-1
No files matched your search
@@ -33,6 +33,14 @@ services:
|
||||
- maintenance_work_mem=${PG_MAINTENANCE_WORK_MEM:-256MB}
|
||||
- -c
|
||||
- max_wal_size=${PG_MAX_WAL_SIZE:-2GB}
|
||||
# 库(约 200 MB)整个在 shared_buffers / 页缓存里,随机读不比顺序读贵多少;缺省 4 是机械盘的估值
|
||||
- -c
|
||||
- random_page_cost=${PG_RANDOM_PAGE_COST:-1.1}
|
||||
# 语句统计(运行状态页「数据库语句统计」);改了要重建 postgres 容器才生效,见 docs/runbook/storage.md
|
||||
- -c
|
||||
- shared_preload_libraries=pg_stat_statements
|
||||
- -c
|
||||
- pg_stat_statements.track=top
|
||||
mem_limit: ${PG_MEM_LIMIT:-3g}
|
||||
deploy:
|
||||
resources:
|
||||
|
||||
Reference in new issue
Block a user