连接池
要了解更多关于连接池的信息,请务必查看 Prisma 的数据指南,其中全面概述了什么是连接池,它要解决什么问题,以及它是如何工作的。
默认情况下,加速提供了内置的连接池。通过使用加速,您无需进行任何配置即可获得连接池的好处。高效的数据库连接管理允许数据库处理更多查询,而不会耗尽可用数据库连接,从而使您的应用程序更具可扩展性。
但是,在某些情况下,进一步配置连接池可能对优化应用程序的性能有所帮助。
本文档重点介绍了 Prisma 加速的连接池功能。有关 Prisma ORM 内部连接池的更多信息,请参阅我们的 ORM 连接池文档。
加速中的连接池
默认情况下,加速的连接限制为 10
。这意味着 Prisma 加速将对您在加速中使用的每个 Prisma 架构最多打开 10 个到您数据库的数据库连接。对于入门计划,这也是最大连接限制。
在大多数情况下,此连接限制就足够了。但是,在流量大或计算量大的环境中,您可能需要 增加此值。如果您的项目是 专业计划,最大连接限制为 100
。对于 企业计划 项目,最大值为 1000
。
配置连接池大小
当不使用 Prisma 加速时,您可以通过 连接字符串 配置 Prisma ORM 的连接池。当使用 Prisma 加速时,此功能不可用。相反,您可以在平台项目中通过 加速设置 中的“连接限制”设置配置连接池大小。
自动缩放
自动缩放允许加速根据应用程序的流量动态分配资源。当持续使用量接近当前连接限制时,加速将开始分配新资源以处理增加的负载。如果流量继续上升,加速将进一步扩展。相反,当流量下降时,加速将相应缩减。
当加速连接限制设置为高于默认值时,自动缩放功能将启用。此功能在入门计划中不可用。
加速连接限制的最大值取决于您的 Prisma 数据平台计划。
计划 | 最大连接限制 |
---|---|
入门 | 10 |
专业 | 100 |
企业 | 1000 |
企业版 | 联系我们 |
配置连接池超时
连接池超时是指查询在等待加速内部连接池中的连接时阻塞的最大秒数。如果并发请求数超过连接限制,就会发生这种情况,导致额外请求排队,直到有空闲连接可用。如果在池超时时间内没有空闲连接可用,则会抛出异常。连接池超时可以通过将值设置为 0 来禁用。
与连接池大小类似,您也可以通过数据库连接字符串配置连接池超时。要调整此值,您可以在数据库连接字符串中添加 pool_timeout
参数。
例如
postgresql://user:password@localhost:5432/db?connection_limit=10&pool_timeout=20
pool_timeout
的默认值为 10
秒。
配置查询限制
在使用 Prisma 加速时,您可以在加速启用的项目环境的“设置”选项卡中配置最小和最大查询响应大小、查询持续时间和事务限制。
查询超时限制
加速对每个查询有一个默认的全局超时时间为 10s
,可以使用标记为“查询持续时间”的滑块进行配置,该滑块基于您的订阅计划。
计划 | 入门 | 专业 | 企业 |
---|---|---|---|
查询超时 | 最多 10 秒 | 最多 20 秒 | 最多 60 秒 |
虽然您可以增加查询超时时间,但建议检查和优化数据库查询,如果它们的执行时间超过 10 秒。这有助于减少对底层数据库的压力,因为长时间运行的查询通常表明需要优化。在 故障排除指南 中了解更多信息。
交互式事务查询超时限制
加速对每个 交互式事务 都有一个默认的全局超时时间为 15s
,可以使用标记为“事务持续时间”的滑块进行配置,该滑块基于您的订阅计划。
计划 | 入门 | 专业 | 企业 |
---|---|---|---|
交互式事务限制 | 最多 15 秒 | 最多 30 秒 | 最多 90 秒 |
虽然您可以增加交互式事务超时时间限制,但建议检查和优化数据库事务,如果它们的执行时间超过 15 秒。长时间运行的事务会对性能产生负面影响,并且通常表明需要优化。在 故障排除指南 中了解更多信息,并查看文档中 交互式事务部分中的警告。
响应大小限制
加速对每个查询有一个默认的全局响应大小限制为 5MB
,可以使用标记为“响应大小”的滑块进行配置,该滑块基于您的订阅计划。
计划 | 入门 | 专业 | 企业 |
---|---|---|---|
查询大小 | 最多 5MB | 最多 10MB | 最多 20MB |
虽然您可以增加查询响应大小,但建议将数据检索限制为实际需要的范围。这将提高数据库性能,减少对数据库的压力,并使您的前端应用程序更具响应能力。大小超过 5 MB 的查询通常表明需要优化。在 故障排除指南 中了解更多信息。