dsm*_*rey 3 postgresql ruby-on-rails pgbouncer
我们有一个 Ruby on Rails 4.2.8 项目,可以访问大型 PostgreSQL 数据库。我们将使用 PgBouncer 添加一个新的连接池服务器。
由于 PgBouncer 将处理数据库连接池,我们是否需要关闭 Rails 自动连接池?我们的database.yml 中没有配置任何内容,因此我认为正在使用默认值(池)5。
谢谢
太长了;不要改变任何东西
Rails 中的池化与 PGBouncer 中的池化不同。Rails 连接池是该进程中任何线程可用的一组连接,通常只有 1 个。rails 池中的每个连接都将有一个到 postgres 数据库或 PGBouncer(如果它位于 postgres 前面)的连接。在大型 Rails 应用程序中,您将在每台服务器以及负载均衡器后面的多台服务器上运行多个 Rails 进程。像这样的东西:
如果没有 PGBouncer,每个与 postgres 的连接都会创建一个新的 postgres 进程。在规模上,您需要限制运行的 postgres 进程的数量,这样就不会耗尽 CPU 和内存。PGBouncer 汇集所有进程和所有服务器上所有 Rails 池的连接,并在它们之间高效切换。
| 归档时间: |
|
| 查看次数: |
3087 次 |
| 最近记录: |