使用 Puma 和 NGINX 确定 Rails 最大线程数和数据库池大小

使用 Puma 和 NGINX 确定 Rails 最大线程数和数据库池大小

我注意到使用 Puma 的 Rails 5 App 的默认池大小等于:

<%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

这意味着您可以将最大线程数设置为环境变量,或者它将默认为 5 个数据库连接。

我见过一些应用程序使用大约 600 作为连接池的限制,这让我认为它实际上与线程无关,但它似乎用于保持绿色性能。

确定最大线程数的逻辑是什么,它与处理器架构有关吗?

数据库连接池是否完全依赖于线程,或者在用户负载较大(约 20,000 个)时我是否能够保持一定的灵活性?

相关内容