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 新闻通讯

© . All rights reserved.