跳至主要内容

连接池

信息

要详细了解连接池,请务必查看 Prisma 的数据指南,以全面了解连接池是什么、它试图解决什么问题以及它是如何工作的。

Accelerate 默认提供内置连接池。使用 Accelerate,您无需任何配置即可获得连接池的优势。对数据库连接的有效管理允许数据库处理更多查询,而不会耗尽可用的数据库连接,从而使您的应用程序更具可扩展性。

但是,在某些情况下,进一步配置连接池可能有助于优化应用程序的性能。

注意

本文档重点介绍 Prisma Accelerate 的连接池功能。有关 Prisma ORM 内部连接池的更多信息,请参阅我们的 ORM 连接池文档

Accelerate 中的连接池

默认情况下,Accelerate 的连接限制为 10。这意味着 Prisma Accelerate 将最多为 Accelerate 中使用的每个 Prisma Schema 打开 10 个到数据库的数据库连接。对于入门计划,这也是最大连接限制。

在大多数情况下,此连接限制已足够。但是,在流量大或计算密集型环境中,您可能需要 增加此值。如果您的项目使用的是 专业版,则最大连接限制为 100。对于 企业版 项目,最大值为 1000

配置连接池大小

不使用 Prisma Accelerate 时,您可以 通过连接字符串 配置 Prisma ORM 的连接池。使用 Prisma Accelerate 时,此功能不可用。相反,您可以在平台项目中通过 连接限制 设置 在 Accelerate 设置中 配置连接池大小。

自动扩展

自动扩展允许 Accelerate 根据应用程序的流量动态分配资源。当持续使用接近当前连接限制时,Accelerate 将开始分配新资源以处理增加的负载。如果流量继续上升,Accelerate 将进一步扩展。相反,当流量减少时,Accelerate 将相应缩减。

当 Accelerate 连接限制设置为高于默认值时,将启用自动扩展。此功能在入门计划中不可用。

Accelerate 连接限制的最大值基于您的 Prisma 数据平台计划

计划最大连接限制
入门10
专业100
企业1000
企业版联系我们

配置连接池超时

连接池超时是查询在等待 Accelerate 内部连接池中的连接时阻塞的最大秒数。如果并发请求数超过连接限制,则会发生这种情况,导致其他请求排队,直到有空闲连接可用。如果在池超时内没有空闲连接可用,则会抛出异常。可以通过将值设置为 0 来禁用连接池超时。

与连接池大小类似,您也可以通过数据库连接字符串配置连接池超时。要调整此值,您可以在数据库连接字符串中添加 pool_timeout 参数。

例如

postgresql://user:password@localhost:5432/db?connection_limit=10&pool_timeout=20
信息

pool_timeout 的默认值为 10 秒。

配置查询限制

使用 Prisma Accelerate 时,您可以在启用了 Accelerate 的项目环境的“设置”选项卡中配置最小和最大查询响应大小、查询持续时间和事务限制。

查询超时限制

Accelerate 每个查询的默认全局超时时间为 10 秒,可以使用标有查询持续时间的滑块进行配置,具体取决于您的订阅计划

计划入门专业企业
查询超时最多 10 秒最多 20 秒最多 60 秒

有关更多信息,请参阅 故障排除指南 和我们的 定价页面

警告

虽然您可以增加查询超时时间,但建议检查和优化数据库查询,如果它们花费的时间超过 10 秒。这有助于减少对底层数据库的压力,因为长时间运行的查询通常表示需要优化。在 故障排除指南 中了解更多信息。

交互式事务查询超时限制

Accelerate 每个 交互式事务 的默认全局超时时间为 15 秒,可以使用标有事务持续时间的滑块进行配置,具体取决于您的订阅计划

计划入门专业企业
交互式事务限制最多 15 秒最多 30 秒最多 90 秒

有关更多信息,请参阅 故障排除指南 和我们的 定价页面

警告

虽然您可以增加交互式事务超时限制,但建议检查和优化数据库事务,如果它们花费的时间超过 15 秒。长时间运行的事务会对性能产生负面影响,并且通常表明需要优化。在 故障排除指南 中了解更多信息,并查看文档中 交互式事务部分中的警告

响应大小限制

Accelerate 的默认全局响应大小限制为 5MB,可以使用标有响应大小的滑块进行配置,具体取决于您的订阅计划

计划入门专业企业
查询大小最多 5MB最多 10MB最多 20MB

有关更多信息,请参阅 故障排除指南 和我们的 定价页面

警告

虽然您可以增加查询响应大小,但建议将数据检索限制为您实际需要的内容。这可以提高数据库性能,减少对数据库的压力,并使您的前端应用程序更具响应能力。大小超过 5 MB 的查询通常表示需要优化。在 故障排除指南 中了解更多信息。