【发布时间】:2018-03-11 17:57:55
【问题描述】:
我有一个在 OSE 上运行的 Rails 应用,5 个 pod,每个 pod 1 个容器。 Rails 应用程序使用具有默认线程设置的 Puma Web 服务器(最小值:0,最大值:16)。在我的 database.yml 中,我定义了 10 个连接 pool:。
我想知道我的最大 PG 连接占用空间是多少?
我目前的理论是:
5 pods x 1 container x 16 threads x 10 connection pool = 800 possible PostgreSQL connections。
但是,我质疑 16 个 Puma 线程中的每一个是否都共享同一个 PG 连接池?在这种情况下,公式为:
5 pods x 1 container x 10 connection pool = 50 possible PostgreSQL connections。
(当然,如果这个数学是正确的,拥有 Puma 16 线程将是一个问题,因为我的应用程序可能请求比可以提供的连接数多,每个线程 1 个,比池提供的多 6 个.)
任何人都可以指出有关该主题的权威文档吗?谢谢!
【问题讨论】:
标签: ruby-on-rails multithreading postgresql openshift puma