小编Ole*_*kii的帖子

如何用石墨分析memcache关键命中率?

我有一个Rails应用程序,它广泛使用缓存,我想知道应用程序中不同位置的缓存命中率.低命中率显然需要注意.但先测量一下!

为了获得真实数据,我使用了石墨+ statsd组合和使用statsd-instrument gem自定义Dalli仪器.应用程序中的所有键都是表单,因此我在石墨中获得以下指标:['place', details...]

  • stats.cache.place1.hits
  • stats.cache.place1.misses
  • stats.cache.place2.hits
  • stats.cache.place2.misses
  • 等等

现在我要显示所有命中率.我能够为一个地方想出以下公式:

divideSeries(stats.cache.place1.hits, sumSeries(stats.cache.place1.*))
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但有几十个地方,我不想复制它,更不用说新的地方可以出现.

这是一个问题,石墨专家:有没有办法显示所有地方的命中率?我在文档中看到了group*函数,但它们让我感到困惑.

理想情况下,我想将我的地点分为4类:

  • 命中率很高,很多要求.缓存做得很好.
  • 命中率低,许多要求.需要注意.
  • 命中率高,请求很少.是否需要缓存?
  • 命中率低,请求很少.绝对删除缓存.

我非常感谢任何有关如何使用石墨进行此类分析的想法(我可以请求JSON格式的数据并进行自己的数学运算,但我怀疑必须有一种更简单的方法).

ruby-on-rails graphite statsd

7
推荐指数
1
解决办法
1169
查看次数

标签 统计

graphite ×1

ruby-on-rails ×1

statsd ×1