January 30, 2012

How to Cache Amazon S3, SimpleDB and Improve Performance

How to cache Amazon S3, SimpleDB and improve performance.

NetFlix EVCache for SimpleDB

If you have built a cloud service using Amazon AWS  (EC2, S3, DynamoDB etc), how do you improve the cloud service’s response times when S3, SimpleDB response times can be in the hundreds of milliseconds (99th percentile).

A nice post by NetFlix on how they achieve it – NetFlix’s EVcache is a front-end cache for Cassandra, Amazon AWS and which helps improve response times

Per NetFlix, 
By fronting this data with a cache, the access times would be much faster & linear and the load on these datastores would be greatly reduced. Caching also enables us to respond to sudden request spikes more effectively. Additionally, an overloaded service can often return a prior cached response; this ensures that user gets a personalized response instead of a generic response. By using caching effectively we have reduced the total cost of operation.
NetFlix found that they could achieve cache hit rates of (typical) 99% with typical response times of few milliseconds vs hundreds of milliseconds if the cache was not in place. And, with the cache clusters, NetFlix serves over 200K requests per second at peak times.

Impressive performance improvements!

Tags: improve EC2 response time, improve S3 response time, how to reduce EC2 latency, how to reduce S3 latency, improve cloud service response times, improve cloud service latency, netflix requests per second, netflix peak load, netflix evcache performance, s3 cache performance, simpledb cache performance, netflix cache for S3