ElastiCache
Amazon ElastiCache is a web service that makes it easy to deploy, operate and scale an in-memory cache in the cloud. The service improves the performance of web applications by allowing you to retrieve information from fast, managed, in-memory caches, instead of relying entirely on slower disk-based databases.
ElastiCache supports two open-source in-memory caching engines:
Memcached
Redis
Monitoring
When it comes to monitoring caching engines, there are 4 important metrics to look at:
CPU utilization
Swap usage
Evictions
Concurrent connections
CPU utilizations
Memcached
Multi-threaded
Can handle loads up to 90%. If it exceeds 90%, add more nodes to the cluster
Redis
Not multi-threaded. To determine the point in which to scale, take 90% and divide by the number of cores.
Swap usage
Memcached
Should be around 0 most of the time and should not exceed 50 Mb.
If this exceeds 50 Mb, you should increase the
memcached_connections_parameter
Redis
No swap usage metrics, instead use
reserved_memory
Evictions
Memcached
There is no recommended setting. Choose a threshold based off your application. Either scale up (increase the memory of the existing nodes) or scale out (add more nodes).
Redis
There is no recommended setting, choose a threshold based off your application
Only scale out (add read replicas)
Concurrent connections
Memcached and Redis
There is no recommended setting
If there is a spike in number of concurrent connections, this can either mean a large traffic spike or your application is not releasing connections as it should be.
Last updated