为什么单线程进程有多个 Sidekiq 客户端连接?

Why ever have more than one Sidekiq client connection for a single-threaded process?

关于设置 Sidekiq 客户端连接到 redis 的数量的简单问题(例如,Sidekiq.configure_client do |config| { config.redis = { size: 5 } })。

为什么要将单线程进程设置为大于 1?假设您是 运行 一个 Unicorn Web 服务器 - 那么我不明白为什么每个 Unicorn 进程都需要超过 1 个连接。我的想法是,由于 Unicorn 进程在 I/O 上阻塞,它不能真正发出任何真正并发的网络请求(例如到 redis),因此超过 1 个连接是没有意义的(除非你使用 EventMachine或类似的东西)?

感谢您的帮助。

如果您在 unicorn 中创建自己的线程,则需要多个线程。此外,连接池是惰性的,因此如果您只需要一个连接,它只会创建一个连接。