Du använder en separat global anslutningspool för din applikationskod. Lägg något så här i din redis.rb initializer:
require 'connection_pool'
REDIS = ConnectionPool.new(size: 10) { Redis.new }
Nu i din applikationskod var som helst kan du göra detta:
REDIS.with do |conn|
# some redis operations
end
Du har upp till 10 anslutningar att dela mellan dina puma/sidekiq-arbetare. Detta kommer att leda till bättre prestanda eftersom, som du korrekt noterar, du inte kommer att ha alla trådar som slåss om en enda Redis-anslutning.
Allt detta dokumenteras här:https://github.com/mperham/sidekiq/wiki/Advanced-Options#connection-pooling