Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在dally gem中,“;插座“最大故障”;不适用于写入和读取操作中的选项_Ruby On Rails_Ruby On Rails 3_Memcached_Dalli - Fatal编程技术网

Ruby on rails 在dally gem中,“;插座“最大故障”;不适用于写入和读取操作中的选项

Ruby on rails 在dally gem中,“;插座“最大故障”;不适用于写入和读取操作中的选项,ruby-on-rails,ruby-on-rails-3,memcached,dalli,Ruby On Rails,Ruby On Rails 3,Memcached,Dalli,我使用的是Dalli2.7.0 我遇到了一个无法访问memcache实例的问题。当触发set请求时,它应该在0.5秒内超时(默认超时),而dalli客户端会继续重试 在进一步调查中,我发现每次重试时都会重置失败计数 跟踪: lib/dalli/server.rb:methodwrite:line 532-The@sock.write超时 lib/dalli/server.rb:方法失败!:第209行-增加@fail_计数 lib/dalli/server.rb:方法失败!:第215行-Dalli

我使用的是Dalli2.7.0

我遇到了一个无法访问memcache实例的问题。当触发set请求时,它应该在0.5秒内超时(默认超时),而dalli客户端会继续重试

在进一步调查中,我发现每次重试时都会重置失败计数

跟踪:

  • lib/dalli/server.rb:methodwrite:line 532-The@sock.write超时
  • lib/dalli/server.rb:方法失败!:第209行-增加@fail_计数
  • lib/dalli/server.rb:方法失败!:第215行-Dalli::NetworkError被引发
  • lib/dalli/client.rb:method perform:第328行-重试事务
  • lib/dalli/ring.rb:检查服务器的可用性
  • lib/dalli/server.rb:methodup!:第243行-重置@fail_计数
  • 循环继续。我是否缺少一些配置,或者dalli代码中是否存在错误。
    你们能帮我弄清楚吗。

    你们是否安装了memcached至少1.4版?如果是的话,你也可以发布Dalli在重新连接过程中生成的调试日志吗?@BoraMa:我使用的是memcache版本1.4.13。Dalli日志:Dalli::服务器#连接服务:11211服务:11211失败(计数:0)超时::错误:IO超时:{:主机=>“服务”,:port=>11211,:down\u retry\u delay=>1,:socket\u timeout=>0.0005,:socket\u max\u failures=>2,:socket\u failures\u delay=>0.01,:value\u max\u bytes=>1048576,:compression\u min\u size=>1024,:compression\u max\u size=>false,:serializer=>marshall,:username=>nil,:password=>nil,:keepalive=>true}上述日志行重复。失败计数始终为0。如果增加
    套接字\u超时
    ,重新连接行为是否相同?你的当前值为0.0005,这意味着0.5微秒对我来说太低了。默认值为0.5秒。是的……即使是0.5秒,重新连接行为也相同。我在生产中遇到了默认设置的问题,然后开始研究这个问题。您能否将日志记录级别提高到
    :debug
    ,并发布所有与Dalli相关的日志消息?另外,如果Dalli的最新版本(2.7.6)仍然存在这种行为,我会尝试。