Determinando os encadeamentos máximos e o tamanho do conjunto de bancos de dados do Rails usando Puma e NGINX

2

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)?

    
por Jorge Cuevas 04.03.2017 / 20:19

0 respostas