I'm interested in this too. I have several thousand MongoDB documents that are read-only and frequently accessed, so I figured I'd just cache them in the dyno's memory to speed up requests.
So is 300 MB the hard limit for each dyno's RAM, then? I suppose that if it grows beyond that point, the dyno is restarted? On Mar 9, 9:49 pm, Oren Teich <o...@heroku.com> wrote: > I don't have a good answer for your question, but note there is no guarantee > that your requests will be served from the same physical machine - we'll > move the dyno around as demanded by the cloud. memcached is the way to do > persistent (beyond single request) caching. We're a few days away from > making it public beta. > > Oren > > > > On Tue, Mar 9, 2010 at 9:02 PM, Alex Chaffee <ale...@gmail.com> wrote: > > I've got some frequently-accessed data I'd like to store in RAM > > between requests. I'm using Sinatra so I'll probably just use an LRU > > cache in a @@class variable. I think I can muddle through all the > > technical issues but one: > > > How big can I reasonably make my cache? I.e. how high (or low) should > > I put my threshold before I start expiring unused data? > > > The only guidance I could find from a quick perusal of heroku.com was > > onhttp://legal.heroku.com/aup:"Dyno RAM usage: 300MB - Hard" -- > > which is good to know, but not a complete answer. I'll obviously want > > to set my cache well below that limit. But without monitoring tools I > > don't have any idea how much RAM is used by the normal processing of > > Rack + Sinatra per request, nor do I know how many requests are being > > serviced per second. My cache is supposed to increase performance, not > > decrease it by hammering the dyno into swap space, or otherwise > > interfering with other system functions on the dyno. > > > So... any ideas? Has anyone else done this? Are there any low-level > > monitoring tools I can use to find out how much RAM I'm currently > > using, or how loaded the system is, or anything of that nature? Would > > New Relic help here (and does it work for Sinatra apps)? > > > BTW, although I may want to use memcached as an *additional* caching > > layer, what I'm interested in exploring now is the feasibility of > > storing transient data in the app server itself. (I don't want the > > overhead of instantiating Ruby objects, especially ActiveRecord > > objects, not to mention that memcached isn't officially available as > > an addon.) > > > --- > > Alex Chaffee - a...@cohuman.com -http://alexch.github.com > > Stalk me:http://friendfeed.com/alexch|http://twitter.com/alexch| > >http://alexch.tumblr.com > > > -- > > You received this message because you are subscribed to the Google Groups > > "Heroku" group. > > To post to this group, send email to her...@googlegroups.com. > > To unsubscribe from this group, send email to > > heroku+unsubscr...@googlegroups.com<heroku%2bunsubscr...@googlegroups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/heroku?hl=en. -- You received this message because you are subscribed to the Google Groups "Heroku" group. To post to this group, send email to her...@googlegroups.com. To unsubscribe from this group, send email to heroku+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/heroku?hl=en.