ActiveRecord :: ConnectionTimeoutError - не удалось получить соединение с базой данных в течение 5 секунд - PullRequest
0 голосов
/ 14 июля 2020

У меня есть приложение Rails 6, и я получаю эту ошибку в процессе производства ActiveRecord::ConnectionTimeoutError. Я немного покопался в Интернете и понимаю, что это означает, что соединение с базой данных исчерпано, но я не получил никакого четкого решения для этого, кроме учитывая увеличение размера пула в database.yml. (как мне узнать до какого числа)

Среды, которые я использую:

Rails 6

Puma

Mysql

развернуто на AWS Rds t2.micro экземпляр - 1 виртуальный ЦП, 1 Gib RAM

database.yml

default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: *******
  host: localhost

puma.rb

max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
threads min_threads_count, max_threads_count

port ENV.fetch("PORT") { 3000 }

environment ENV.fetch("RAILS_ENV") { "development" }

pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }
plugin :tmp_restart

Может кто то указать меня в правильном направлении, как мне решить эту проблему, если решение увеличивает размер пула, как мне рассчитать число?

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...