已采纳
回答正文
回复
讨论正文
该问题的正文与回答。
我们正在使用 PostgreSQL 16 处理高并发写入场景(约 200 并发 INSERT/UPDATE 事务,单事务涉及 3~5 张表),但观察到锁争用导致 P99 延迟从 5ms 飙升至 200ms。已尝试调整 autovacuum 参数(如 vacuum_cost_page_factor=0.0)和增加共享缓冲区,但效果有限。
Locks (shared) 和 Locks (exclusive) 等待事件relation 级别锁SET LOCAL lock_timeout = 500 限制超时,但导致部分事务失败率上升