U gebruikt een aparte globale verbindingspool voor uw applicatiecode. Zet zoiets als dit in je redis.rb initializer:
require 'connection_pool'
REDIS = ConnectionPool.new(size: 10) { Redis.new }
Nu overal in uw applicatiecode, u kunt dit doen:
REDIS.with do |conn|
# some redis operations
end
Je hebt maximaal 10 connecties om te delen met je puma-/sidekiq-werkers. Dit zal leiden tot betere prestaties, aangezien, zoals u terecht opmerkt, niet alle threads vechten om een enkele Redis-verbinding.
Dit alles wordt hier gedocumenteerd:https://github.com/mperham/sidekiq/wiki/Advanced-Options#connection-pooling