Tag: 连接池

Rails:每个http请求都会创建一个新的连接池吗?

我正在阅读这篇文章https://polycrystal.org/posts/2012-05-25-active-record-connection-pool-fairness.html ,它说明每个http reuest都会创建一个新的连接池。 这是真的吗? 如果确实如此,那么如果http请求创建需要访问数据库的两个线程,那么两个线程将创建两个单独的连接池agian,或者它们将使用由http请求创建的连接池。 谢谢,

有没有理由在ActiveRecord中使用数据库连接池?

使用外部连接池有什么好处? 我听说大多数其他应用程序将为每个工作单元打开一个连接。 例如,在Rails中,我认为这意味着每个请求都可以打开一个新连接。 我假设连接池会使这成为可能。 我能想到的唯一好处是它允许你拥有1,000个前端进程,而不需要运行1000个postgres进程。 还有其他好处吗?

真的需要一个db连接池用于unicorn rails吗?

我找不到任何描述独角兽数据库连接池效应的文档。 Unicorn分叉了几个工人流程。 我配置了prefork,关键是不要在worker之间共享数据库连接,所以我在fork之后重置db连接。 我的rails应用程序每个服务器有8个worker,而database.yml中的pool大小是5,然后我看到了45个与mysql的连接。 每个worker都是单线程的,一次处理1个请求。 SQL查询应该是阻塞的。 似乎其他4个连接都没用? 我可以将池大小设置为1以获得更好的性能吗?