Percebi que o tamanho padrão do pool para um aplicativo do Rails 5 usando o Puma é igual a:
<%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
O que significa que você pode estabelecer um número máximo de segmentos como uma variável de ambiente ou usar como padrão 5 conexões de banco de dados.
Eu vi alguns aplicativos que usam cerca de 600 como limite para o pool de conexão, o que me faz pensar que ele não está realmente relacionado aos threads, mas parece que é usado para manter o desempenho no verde.
Qual é a lógica por trás da determinação do número máximo de threads? Está relacionado à arquitetura do processador?
O conjunto de conexões com o banco de dados é totalmente dependente dos threads, ou eu consigo manter alguma flexibilidade quando tenho uma grande carga de usuários (cerca de 20.000)?