Muito tarde para a festa aqui, mas fiquei sem conexões de banco de dados hoje em produção.
Como muitas pessoas, uso o Sidekiq para realizar trabalhos assíncronos, como enviar e-mails, por exemplo. É importante observar que o Sidekiq é executado como um processo multithread.
Então, eu não apenas tem um aplicativo Rails single-thread, portanto, esta resposta não se aplica diretamente à pergunta feita, mas achei que valia a pena dizer algo aqui, pois acho que aplicativos Rails multithread são relativamente normais hoje em dia.
Isso significa que você precisa ajustar o tamanho do pool de forma a criar conexões suficientes para lidar com todos os trabalhos que podem ser enfileirados e levar mais de 5 segundos (o período de tempo limite padrão para aguardar uma conexão de banco de dados antes de gerar um erro).