Heroku / Memcache / Rack :: Cache Stats - PullRequest
2 голосов
/ 03 марта 2012

Я пытаюсь обернуть свой мозг вокруг Rack :: Cache, Rails 3.2, Memcache и Heroku. Я думаю, что у меня все это работает вместе, как указано здесь: http://myownpirateradio.com/2012/01/01/getting-heroku-cedar-and-rails-3-1-asset-pipeline-to-play-nicely-together/

Все это говорит, я не уверен, что Memcached действительно делает то, что должен. Есть ли способ получить статистику по Memcached или посмотреть, был ли кеширован запрос Memcached? Я помещаю текущее время на страницу и вижу, что оно кэшируется (заголовки тоже хорошо выглядят), но откуда мне знать, что оно работает с Memcached, а не с хранилищем файлов?

Спасибо.

1 Ответ

9 голосов
/ 03 марта 2012

Вы можете получить статистику по memcached, выполнив:

$ heroku run console
Running console attached to terminal... up, run.1
Loading production environment (Rails 3.1.3)
irb(main):001:0> Rails.cache.stats
Dalli/SASL authenticating as app590983%40heroku.com
Dalli/SASL: Authenticated
=> {"mc5.ec2.northscale.net:11211"=>{"evictions"=>"0", "curr_items"=>"627",
    "total_items"=>"1257", "bytes"=>"2294318", "reclaimed"=>"0", 
    "engine_maxbytes"=>"5242880", "bucket_conns"=>"2", "pid"=>"319", 
    "uptime"=>"6710022", "time"=>"1330731177", "version"=>"1.4.4_207_g19c6b9e", 
    "libevent"=>"1.4.11-stable", "pointer_size"=>"64", 
    "rusage_user"=>"34354.590000", "rusage_system"=>"31381.520000", 
    "daemon_connections"=>"10", "curr_connections"=>"1211", 
    "total_connections"=>"14127919", "connection_structures"=>"1764", 
    "cmd_get"=>"9476", "cmd_set"=>"1257", "cmd_flush"=>"0", "auth_cmds"=>"24", 
    "auth_errors"=>"0", "get_hits"=>"8093", "get_misses"=>"1383", 
    "delete_misses"=>"0", "delete_hits"=>"0", "incr_misses"=>"0", 
    "incr_hits"=>"0", "decr_misses"=>"0", "decr_hits"=>"0", "cas_misses"=>"0", 
    "cas_hits"=>"0", "cas_badval"=>"0", "bytes_read"=>"21983909", 
    "bytes_written"=>"85267718", "limit_maxbytes"=>"67108864", 
    "rejected_conns"=>"0", "threads"=>"4", "conn_yields"=>"0"}}

PS: Я думаю, вам может понадобиться использовать драгоценный камень Далли, чтобы это сработало, но в любом случае это рекомендуемый клиент.

Вы также можете запустить Rails.cache.class, чтобы увидеть, какой сервер использует Rails.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...