先に結論 pumaは worker * スレッド の数だけコネクションを使う しかし、ActiveRecordのコネクションプールの数はデフォルトで 5 なので大抵不足する コネクションが不足すると、DBへの接続リクエストは待ち状態に 待ち状態のまま一定時間が経過すると、ActiveRecord::ConnectionTimeoutError が発生 なので、ActiveRecordのコネクションプールを増やす必要がある コネクションプールとは? 予め(今回の場合は)DBに接続しておいて、必要に応じてその接続を貸し与える仕組み ActiveRecordのコネクションプールを増やす方法 config/database.yml の connection_pool で設定 production: <<: *default database: <%= ENV['DB_NAME'] %> usern