gpt4 book ai didi

ruby-on-rails - 关于 Rails-Postgres 数据库连接的问题

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:18 25 4
gpt4 key购买 nike

我们最近遇到了 postgres 连接槽用完的问题,经过大量调试和耸耸肩,我们几乎可以追溯到我们对连接池的理解有误。

我们使用 Rails、Postgres 和 Unicorn,以及 Delayed Job我们是否正确地假设连接池是特定于进程的,即每个进程都有自己的 10 个(我们的连接池限制)连接到池中的数据库?

如果应用程序中的任何地方都没有线程,我们假设大多数情况下每个进程将使用 1 个连接是否正确,因为没有人需要第二个连接?

基于这些假设,我们追踪到进程数

网络服务器 - 4x unicorn
延迟作业 3x 服务器 - 30 个进程 = 90 个连接

那是 94 个连接,还有几个用于 rails:console 的连接和几个 rails runnerrake 任务可以解释为什么我们经常达到极限吗?在我将 ruby 脚本转换为 rails runner 脚本后,这周特别频繁。

我们计划将最大值从 100 增加到 200 或 250 以缓解这种情况,但是是否有一种简单的方法可以在 Rails 中实现进程间连接池?

最佳答案

您可能想看看 pgbouncer .它是一个专门构建的 PostgreSQL 连接池。有一些notes on the wiki也。它也为大多数 Linux 发行版打包。

关于ruby-on-rails - 关于 Rails-Postgres 数据库连接的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19923803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com