2024 年 8 月 21 日

Prisma Accelerate 连接池引入自动扩缩功能

自首次发布以来,Prisma Accelerate 已经处理了近 100 亿次查询!它仍在不断改进:随着自动扩缩功能的加入,Prisma Accelerate 在帮助应用程序扩缩和消除数据库连接瓶颈方面表现更佳。

Connection pooling using multiple instances of accelerate's connection poolers

为什么连接池很重要

在数据库性能方面,连接池常常被忽视或忽略太久。

刚开始时,没有它也能凑合。即使是小型数据库服务器也能处理 1 到 2 个应用程序服务器建立 5 到 10 个连接。随着业务增长,更好的连接管理是一种快速且轻松的胜利。

大多数人认为只有在大规模场景下才需要连接池,但最好在此之前就实现它!

传统数据库连接面临的挑战

当您的应用程序与数据库交互时,通常遵循以下步骤:

  1. 打开与数据库的 TCP 连接
  2. 向数据库发送查询
  3. 关闭 TCP 连接

这个过程在每一次数据库交互中重复进行。打开和关闭数据库连接出了名的慢且资源密集型,因为它需要身份验证、三次握手以及内存和 CPU 等资源的分配。

Requests to the database from around the globe

在现代无服务器和边缘计算环境中,这个挑战更加严峻。在这些场景中,每个独立的函数调用都试图建立一个新的数据库连接。

连接池如何帮助您的应用程序

连接池不是为每个请求打开和关闭连接,而是维护一个开放的数据库连接池,当未来需要访问数据库时,这些连接可以被重复使用。

由此产生的数据库交互过程如下:

  1. 从连接池管理器请求连接
  2. 向数据库发送查询
  3. 将连接返回给连接池

使用连接池

  • 减少了持续创建和关闭连接的开销
  • 提高了数据库操作的响应时间
  • 有助于管理流量高峰,而不会导致中断。
  • 有效地扩缩,随着您的数据和用户数量的增长。

在我们的最新文章中了解更多关于连接池的好处:使用连接池拯救黑色星期五

Prisma Accelerate 引入自动扩缩功能

自去年推出以来,Prisma Accelerate 已经通过处理近 100 亿次查询证明了其生产就绪性。展望接下来的 1000 亿次查询,我们正在推出使 Prisma Accelerate 更强大的功能。随着自动扩缩功能的加入,Prisma Accelerate 将更适合扩缩任何应用程序!

新的自动扩缩如何工作

  1. 当您启用 Accelerate 时,您会设置一个连接限制。
  2. Accelerate 持续监控这些连接中有多少正在被积极使用。
  3. 如果需要更多资源来处理您的应用程序流量,将会在您设置的连接限制内分配额外资源。
  4. 随着流量减少,任何额外资源都将被移除。

Autoscaling Accelerate's connection pooling nodes

随着负载的增加和流量的增长,通过预置更多的连接池实例来实现水平扩缩。这不仅有助于处理突发、不可预测的工作负载,还有助于不断增长的应用程序,这意味着我们可以大规模管理您的流量。

在 Prisma Accelerate 中设置连接限制

在 Prisma Accelerate 中,您可以通过连接池部分中的连接池大小下拉菜单设置连接限制,该下拉菜单位于启用或更新现有已启用 Accelerate 环境的配置时。

Configuring Accelerate connection pool size in Platform Console

请访问文档以了解更多关于配置 Accelerate 的连接池大小的信息

为什么设置正确的连接限制很重要

当您的应用程序处于高负载下时,设置正确的连接限制至关重要。原因如下:

  • 资源分配:您设置的限制有助于 Accelerate 高效分配资源。
  • 性能指标:它作为理解应用程序数据库交互模式的关键指标。
  • 扩缩效率:适当的限制确保及时扩缩,防止瓶颈影响性能。

设置连接限制的最佳实践

以下是一些帮助您为应用程序设置正确连接限制的最佳实践。

  1. 设置您的连接限制:分析您的应用程序需求并相应设置连接限制。我们建议将可用连接的大约三分之一分配给 Accelerate,以允许其他需要与数据库交互的服务使用连接缓冲区。请注意,Accelerate 可能会短暂地超出分配的连接,以有效管理架构更改或迁移到新的 Prisma 版本。
  2. 根据需要调整:随着应用程序的增长,重新审视并调整您的连接限制。

通过理解和利用连接限制,您不仅是在调整配置,更是直接影响 Accelerate 如何优化应用程序的性能。连接池不仅仅适用于大规模场景;它是一种可以使处于不同增长阶段的应用程序受益的技术。

如果您想知道缓存是否是您可以通过减少数据库往返来提高应用程序性能的另一个步骤,那么您是对的,Accelerate 也支持!您可以在我们最近的博客文章中了解更多关于数据库缓存的好处:速度与节省:使用 Prisma Accelerate 缓存数据库查询

立即试用 Accelerate 以提升您的应用程序性能

如果您想亲身体验 Prisma Accelerate 能带来哪些性能提升,请查看 Accelerate 速度测试或使用我们的一个入门项目开始。


开始使用 Accelerate

不要错过下一篇文章!

订阅 Prisma 新闻通讯

© . This site is unofficial and not affiliated with Prisma Data, Inc.