On Mar 22, 2012, at 8:06 AM, Sandy Walsh wrote: > o/ > > Vek and myself are looking into caching strategies in and around Nova. > > There are essentially two approaches: in-process and external (proxy). > The in-process schemes sit in with the python code while the external > ones basically proxy the the HTTP requests.
We may need http caches as well in some cases, but we already use memcached in a few places, so I think we need internal caching as well. > > There are some obvious pro's and con's to each approach. The external is > easier for operations to manage, but in-process allows us greater > control over the caching (for things like caching db calls and not just > HTTP calls). But, in-memory also means more code, more memory usage on > the servers, monolithic services, limited to python based solutions, > etc. In-process also gives us access to tools like Tach > https://github.com/ohthree/tach for profiling performance. > > I see Jesse recently landed a branch that touches on the in-process > approach: > https://github.com/openstack/nova/commit/1bcf5f5431d3c9620596f5329d7654872235c7ee#nova/common/memorycache.py > > I don't know if people think putting caching code inside nova is a good > or bad idea. If we do continue down this road, it would be nice to make > it a little more modular/plug-in-based (YAPI .. yet another plug-in). > Perhaps a hybrid solution is required? openstack-common is where jesse was planning on putting memorycache > > We're looking at tools like memcache, beaker, varnish, etc. > I kind of like keeping our caching simple, just talking to something that is replicating the python-memcached api so that we can change out an in memory cache or actual memcached or db cache or etc... This has a bit of promise: http://code.google.com/p/python-cache/ Vish
_______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : [email protected] Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp

