跳转到内容

阶段六 · 存储、WAL 与调优

调优放在最后,是因为在不理解存储和 WAL 之前,调参只能抄配置模板。

  • 8KB 页结构:页头、行指针数组、元组、special space
  • TOAST:大字段怎么被切片、压缩、外置,对查询的影响
  • WAL → 检查点 → 崩溃恢复的完整链路
  • 物理复制与逻辑复制的取舍,逻辑复制槽的风险
  • 备份与 PITR
  • 参数调优:shared_bufferswork_memeffective_cache_size、autovacuum 系列
  • 为什么 Postgres 几乎必须配连接池
  • 行超过 2KB 时 TOAST 怎么处理?对查询性能有什么影响?什么时候会「意外地」触发 TOAST?
  • shared_buffers 为什么不建议设成内存的一大半?(提示:双重缓存)
  • work_mem 是每个查询一份还是每个执行节点一份?这个区别在什么时候会要命?
  • 为什么 Postgres 几乎必须配 pgbouncer,而 MySQL 不那么迫切?
  • autovacuum 追不上写入量时,调哪几个参数?