Re: Open questions on Snowy deployment



Hey Jeff,

> >> 3) Should we use memcached as a cache server?
> >
> > Yes, definitely.  Django uses cache heavily, and using the database for
> > this is a great way to shoot yourself in the face, performance-wise.
> 
> Well didn't knuth say premature optimization was the root of all evil?
> Lets see if we actually have any performance problems and how many
> users sign up for tomboy online before setting up something exotic
> like memcached. Does snowy use the django cache middleware? If not,
> that might be a good start. Sorry I've not had a chance to poke at the
> snowy code. Real life has gotten more busy than I'd like recently.

Snowy doesn't do any caching right now, but Django caches QuerySets, and
Piston, one of the libraries we use, throttles connections by storing a
token via the cache, so we'll need to enable Django's caching framework
somehow.  Django can support db, filesystem, local-memory, as well as
memcached backends.

I strongly encourage setting up memcached.  I refute your argument that
it is "exotic"; it's used by many of the top websites, it's surprisingly
light on dependencies and very high-performance.  Setup is also quite
simple.

That said, filesystem cache could work also.  *Do not* use local-memory
caching if you're running Apache with mpm-worker, as the cache will be
per-worker process and break the fundamental semantics of Django
caching.

Best,

-Brad




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]