【问题标题】:Redis/SideKiq/Rails Connection reset by peer - SSL_connectRedis/SideKiq/Rails 连接由对等方重置 - SSL_connect
【发布时间】:2014-04-27 19:06:08
【问题描述】:

我在 Heroku 上托管的生产站点上使用 Sidekiq 和 Redis To Go。我正在召集多名 Sidekiq 工人为我做一份工作。在我的工人“卡住”之前,在 600 名工人中,我只剩下大约 180 名工人。他们试图做一份工作,但我得到了两个错误之一:

WARN: {"retry"=>true, "queue"=>"default", "class"=>"F9LoadRecordWorker", "args"=>[25126], "jid"=>"0426e1db817e27986da6b636", "enqueued_at"=>1395332988.09929, "error_message"=>"Connection reset by peer - SSL_connect", "error_class"=>"Errno::ECONNRESET", "failed_at"=>1395337905.5061884, "retry_count"=>0}

WARN: {"retry"=>true, "queue"=>"default", "class"=>"F9LoadRecordWorker", "args"=>[25131], "jid"=>"79601ea488efc10f1fbcc433", "enqueued_at"=>1395332988.1172419, "error_message"=>"Connection refused - connect(2)", "error_class"=>"Errno::ECONNREFUSED", "failed_at"=>1395338127.4794347, "retry_count"=>1, "retried_at"=>1395338202.905867}

因此,实际的错误是对等方重置连接 - SSL_connent 或拒绝连接 - 连接 (2)。

这是什么原因造成的?为什么 400~ 个 worker 会成功,然后最后 200~ 个会卡在这个重试和不断出错的循环中?

【问题讨论】:

    标签: ruby-on-rails ruby heroku redis sidekiq


    【解决方案1】:

    RedisToGo 是一个共享托管 redis 服务提供商。不幸的是,过多的客户端连接很容易使您的共享 redis 实例不堪重负,从而导致超时。

    您实际上是在 DOSing 您的 redis 主机和 RedisToGo 的基础架构。

    您可能需要升级到更大的计划或更强大的主机来支持您想要的连接数量。

    【讨论】:

      猜你喜欢
      • 2011-12-30
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-08
      • 2013-01-28
      • 2020-12-22
      相关资源
      最近更新 更多