平台

性能调优


Supabase 平台会自动优化您的 Postgres 数据库,以充分利用项目所选方案的计算资源。然而,这些优化基于对项目工作流类型的假设,针对特定工作流调整数据库可能会获得更好的性能。

查询性能分析

未优化的查询是导致数据库性能低下的主要原因。要分析查询性能,请参阅调试与监控指南

优化连接数

Postgres 和 Supavisor 的默认连接限制基于您的计算规模。具体默认连接数请参考计算附加组件章节。

如果连接数不足,连接数据库时会收到以下错误:

1
2
$ psql -U postgres -h ...FATAL: remaining connection slots are reserved for non-replication superuser connections

遇到这种情况时,您可以考虑:

配置客户端以减少连接数

您可以使用 pg_stat_activity 视图来调试哪些客户端在数据库上保持着打开的连接。需要注意的是,pg_stat_activity 仅显示直接数据库连接的信息。如需获取通过 Supavisor 的连接数指标,请访问指标端点

根据客户端类型的不同,您可以通过以下方式优化连接使用:

  • 配置客户端使用更少的连接(例如限制其最大连接数)
  • 将特定工作负载迁移至通过 Supavisor 连接池访问

特别是对于瞬态工作流(如无服务器函数),这类会根据流量快速伸缩的场景,使用连接池比直接连接数据库能获得显著优势。

允许更多连接数

您可以通过自定义 Postgres 配置来调整Postgres连接限制及其他参数。

企业支持

如需针对特定工作流进行数据库优化,请联系我们