【问题标题】:redis ohm slow performanceredis欧姆慢性能
【发布时间】:2012-11-01 19:47:14
【问题描述】:

过去几天我们一直在摸索,试图理解为什么在我们的 Rails 项目中使用 redis/ohm 时有些事情看起来有点太慢了。

它的要点是一些对 ohm/redis 的请求大约需要 100-200 毫秒,考虑到我们对超快性能的高期望,这似乎相当高。

我们正在运行的命令如下所示:

Stats::TermStats.find(term_slug: 'term_slug', user_id: 123).to_a

在我们看来,我们并没有做任何极其复杂或疯狂的事情。到目前为止,我们对这个单一命令的分析(使用miniprofiler)揭示了以下内容:

  • 其中一些调用在大约 2-4 毫秒内完成(这是好的/好的/坏的吗?)
  • 但有些需要 100-200 毫秒(这肯定感觉很糟糕)
  • 在 redis-client 上使用 slowlog get 不会在 redis 上显示任何特别慢的东西。大多数 redis 命令在不到 20 微秒(0.02 毫秒)
  • 内完成
  • 使用 rails 控制台并在循环中使用完全相同的 slug/id 运行快速基准测试,观察到相同的行为,即其中一些(相同)请求似乎比大多数其他请求花费的时间要长得多

我们的 redis 配置几乎是开箱即用的,基本上没有任何调整。在测试期间,服务器没有做太多其他事情。

有什么建议可以提高性能/测试是什么在 redis 和 ohm/rails 之间减慢了这么多速度??

【问题讨论】:

    标签: ruby-on-rails-3 performance redis ohm


    【解决方案1】:

    如果有人感兴趣,我们似乎找到了这个问题的原因,甚至找到了解决方案

    TL;DR:use hiredis + tune the ruby GC parameters.

    【讨论】:

      猜你喜欢
      • 2018-09-20
      • 2012-08-21
      • 2014-10-06
      • 2019-01-08
      • 2018-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      相关资源
      最近更新 更多