Какими должны быть параметры параллелизма Sidekiq, размера клиента и размера сервера для 20 подключений Redis? - PullRequest
2 голосов
/ 09 июня 2019

Я устанавливаю приложение Ruby On Rails, развернутое на платформе Heroku. Приложение использует процесс sidekiq для выполнения определенных задач. Я хочу найти подходящую конфигурацию / формулу для поиска значений конфигурации в sidekiq.yml. У меня есть 20 подключений Redis.

Мое приложение работает с 4-мя единицами рабочих процессов Heroku. Я установил размер клиента sidekiq redis на 1, размер сервера на 8 и параллелизм 2. Когда я увеличил рабочий блок до 20, я получил ошибку «Превышено соединение».


# sidekiq.rb

Sidekiq.configure_client do |config|
  config.redis = {
    size: ENV['SIDEKIQ_REDIS_CLIENT_SIZE'].to_i,
    url: ENV['REDIS_URL'] || 'redis://localhost:6379/1'
  }
end

Sidekiq.configure_server do |config|
  config.redis = {
    size: ENV['SIDEKIQ_REDIS_SERVER_SIZE'].to_i,
    url: ENV['REDIS_URL'] || 'redis://localhost:6379/1'
  }
end

# sidekiq.yml

production:
  :concurrency: 2

Я ожидаю получить подходящую конфигурацию или формулу для расчета подходящей конфигурации

...