Heroku/Memcache/Rack::Cache Stats

此生再无相见时 提交于 2019-12-11 01:38:40

问题


I am trying to wrap my brain around Rack::Cache, Rails 3.2, Memcache, and Heroku. I think I've got it all working together, as outlined here: http://myownpirateradio.com/2012/01/01/getting-heroku-cedar-and-rails-3-1-asset-pipeline-to-play-nicely-together/

All that said, I am unsure if Memcached is actually doing what it should. Is there any way to get stats on Memcached or to see if a request was cached by Memcached? I put the current time on a page, and can see that it is getting cached (headers look good too), but how do I know it is all working with Memcached, as opposed to the file store?

Thanks.


回答1:


You can get stats on memcached by doing:

$ 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: I think you might need to be using the Dalli gem for this to work, but that is the recommended client anyway.

You can also run Rails.cache.class to see which backend is Rails using.



来源:https://stackoverflow.com/questions/9541817/heroku-memcache-rackcache-stats

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!