Prisma 配置失误让查询慢了 4 倍
Prisma's pgbouncer=true on Supabase made every query 4 round-trips (postmortem)

我们的预订系统在六个月内一直遭受性能拖累,直到发现一个隐蔽的配置错误。原本以为是 Helsinki 到 Dublin 的网络延迟问题,结果发现是 Prisma 在 Supabase 的 Supavisor 上错误启用了 pgbouncer=true 模式。这导致每个数据库查询都要额外执行 BEGIN、DEALLOCATE ALL 和 COMMIT,使得单次查询变成了四次网络往返。修正这一行配置后,页面响应时间从 8 秒骤降至 1.88 秒。这次经历让我明白,当成本不随负载变化时,往往是调用开销而非计算问题在作祟。
算术通常是正确的,但代理分析中附加的句子在缺乏实测数据支撑前都只是猜测。