【发布时间】:2012-11-09 05:21:00
【问题描述】:
我已经使用 Memcached 作为 Radiant 缓存资源设置了 Radiant 实例,但是,缓存命中似乎没有记录到 Radiant。
这是一个缓存实现的例子:
# file: :rails_root/config/environments/[RAILS_ENV].rb
require 'dalli'
$cache = Dalli::Client.new(["remotehost.com:11211", "127.0.0.1:11211"], :compress => true)
config.middleware.use ::Radiant::Cache, :metastore => $cache, :entitystore => $cache
当我在 Radiant 实例(通过 httperf)上扔负载时,只有缓存未命中会在 NewRelic 中注册。
::编辑::
一些可能还值得注意的事情:
- 我正在使用 nginx 和 unicorn。
-
我目前在
:rails_root/config.ru中需要 newrelic,如下所示:begin require 'newrelic_rpm' NewRelic::Agent.after_fork(:force_reconnect => true) rescue LoadError # proceed without NewRelic end -
我正在使用捆绑器,这是我的
Gemfile的示例:source "http://my_gem_server" source :rubygems gem "radiant", "~> 1.1.0" gem 'unicorn' gem 'therubyracer', '~> 0.9' gem 'newrelic_rpm' gem 'rack-cache' gem 'dalli' gem "compass-rails", "~> 1.0.3" group :extensions do # radiant extensions gem "radiant-archive-extension", "~> 1.0.7" gem "radiant-clipped-extension", "~> 1.1.0" gem "radiant-debug-extension", "~> 1.0.2" gem "radiant-exporter-extension", "~> 1.1.0" gem "radiant-markdown_filter-extension", "~> 1.0.2" gem "radiant-snippets-extension", "~> 1.1.0" gem "radiant-site_templates-extension", "~> 1.0.4" gem "radiant-smarty_pants_filter-extension", "~> 1.0.2" gem "radiant-textile_filter-extension", "~> 1.0.4" # additional extensions gem "radiant-index_page-extension", "~> 1.0.1" gem "radiant-vapor-extension", "~> 2.1.4" gem "radiant-reorder_children-extension", "~> 1.0.6" gem "radiant-layouts-extension", "~> 1.1.3" gem "radiant-sibling_tags-extension", "~> 0.2.1" gem "radiant-if_param_tags-extension", "~> 1.0.1" gem "radiant-cache_buster-extension", "~> 0.0.1" # forked extensions gem "radiant-sheets-extension", "1.1.0my1" end - 我试过的东西:
- 将 newrelic 的 require 代码移动到 config.ru 的顶部和底部。
- 将
gem "newrelic_rpm"移动到我的 Gemfile 的顶部和底部(底部:https://newrelic.com/docs/ruby/does-new-relic-work-with-the-bundler-gem) - 将 newrelic 的 require 代码移动到我的
:rails_root/config/enivornments/[RAILS_ENV].rb底部 - 将 newrelic 的 require 代码移动到
:rails_env/config/boot.rb和:rails_env/config/environment.rb-- 顶部和底部。 - 在 Gemfile 中使用
gem "newrelic_rpm", :require => 'newrelic_rpm'明确要求newrelic_rpm
::/编辑::
有人有什么想法吗?
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby memcached newrelic radiant