尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

36 · 监控运维与备份高可用

36 · 监控运维与备份高可用 36 · 监控运维与备份高可用一句话向量库上线后要盯住慢查询、索引大小、内存命中率并做好备份与主从才能长期稳定。1. 要监控什么类别指标关注点查询性能慢查询、P95/P99 延迟检索是否变慢索引索引大小、是否膨胀是否需要重建内存缓存命中率索引是否常驻内存数据健康死元组数量是否需要 VACUUM资源CPU、磁盘、连接数容量是否吃紧2. 监控慢查询开启慢查询日志-- 记录超过 200ms 的查询ALTERSYSTEMSETlog_min_duration_statement200;SELECTpg_reload_conf();用pg_stat_statements扩展看最耗时的查询CREATEEXTENSIONIFNOTEXISTSpg_stat_statements;SELECTquery,calls,mean_exec_time,max_exec_timeFROMpg_stat_statementsORDERBYmean_exec_timeDESCLIMIT10;找出慢的向量检索针对性调ef_search、索引或分区。3. 监控索引大小与膨胀-- 各索引大小SELECTindexrelname,pg_size_pretty(pg_relation_size(indexrelid))ASsizeFROMpg_stat_user_indexesWHERErelnameitems;索引大小突然远超数据量 → 可能膨胀考虑REINDEX CONCURRENTLY第 33 章。4. 监控缓存命中率关键向量检索快不快很大程度看索引是否命中内存缓存SELECTsum(heap_blks_hit)/NULLIF(sum(heap_blks_hitheap_blks_read),0)AScache_hit_ratioFROMpg_statio_user_tables;接近 1如 0.99→ 大部分命中内存好。明显偏低 → 内存不够索引频繁读磁盘需加内存或用 halfvec第 31 章。5. 监控死元组SELECTrelname,n_live_tup,n_dead_tup,round(n_dead_tup::numeric/NULLIF(n_live_tup,0),3)ASdead_ratioFROMpg_stat_user_tablesWHERErelnameitems;dead_ratio偏高 → 触发 VACUUM第 33 章。6. 关键 PG 参数向量场景-- 缓存尽量大让索引常驻一般设物理内存 25%~40%ALTERSYSTEMSETshared_buffers32GB;-- 单查询可用内存ALTERSYSTEMSETwork_mem64MB;-- 建索引/维护内存ALTERSYSTEMSETmaintenance_work_mem8GB;SELECTpg_reload_conf();7. 备份向量表和普通表一样备份注意数据量大、耗时长。逻辑备份pg_dumppg_dump-Upostgres-dvectordb-Fc-fvectordb.dump优点灵活、可跨版本。缺点大库慢恢复后索引要重建耗时参考第 32 章。物理备份pg_basebackuppg_basebackup-Upostgres-D/backup/base-Ftar-z优点适合大库、恢复快含索引。结合 WAL 归档可做时间点恢复PITR。大向量库更推荐物理备份 WAL 归档避免恢复后漫长的重建索引。8. 高可用主从复制用流复制做主从读写分离 故障切换主库(写) ──流复制──► 从库1(读) └──► 从库2(读)向量检索是读多写少很适合把检索分流到从库。主库挂了可切换到从库保证可用性。要点索引在物理复制中会一起复制到从库无需重建。从库可承担检索查询分担主库压力。9. 告警建议给这些设阈值告警- P99 延迟 目标值如 50ms - 缓存命中率 0.95 - 死元组比例 20% - 磁盘使用率 80% - 复制延迟过大10. 一句话总结监控慢查询、索引大小、缓存命中率、死元组四大项参数上让shared_buffers够大使索引常驻大库用物理备份 WAL主从复制做读分流与容灾。➡️ 下一章37-常见错误与排查清单.md本教程收官一份速查排错手册。
返回列表