When a socket is checked in to the DBConnection.Connection process and no check outs requests are waiting in the internal queue it sets the socket into active: :once. If there is a client queue in Poolboy's central process a client will immediately be assigned to the connection process, a checkout request sent to the connection, the socket will be set to active: false immediately and checked out again. Given that idle connections are pinged at :idle_timeout we could investigate if delaying the check in/ active: :once until the first idle timeout improves performance under load.
When a socket is checked in to the DBConnection.Connection process and no check outs requests are waiting in the internal queue it sets the socket into
active: :once
. If there is a client queue in Poolboy's central process a client will immediately be assigned to the connection process, a checkout request sent to the connection, the socket will be set toactive: false
immediately and checked out again. Given that idle connections are pinged at:idle_timeout
we could investigate if delaying the check in/active: :once
until the first idle timeout improves performance under load.