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

问题描述:

有关将Sidekiq客户端连接数设置为redis的简单问题(例如,通过Sidekiq.configure_client do |config| { config.redis = { size: 5 } })。为什么要为单线程进程提供多个Sidekiq客户端连接?

为什么你将它设置为1以上的单线程进程?假设你正在运行一个Unicorn web服务器 - 那么我不明白为什么每个Unicorn进程需要多于一个连接。我的思考过程是,由于Unicorn进程阻塞I/O,因此它不能真正发出具有任何实际并发性的网络请求(例如重新发送),因此超过1个连接是毫无意义的(除非您使用EventMachine或某些东西喜欢这个)?

感谢您的任何帮助。

如果您在独角兽内创建自己的线程,则需要多个线程。连接池也很懒,所以如果你只需要一个连接,它只会创建一个连接。

+0

有道理,非常感谢并感谢Sidekiq!爱它。 –