Blue Matador monitors the CPU utilization of your ElastiCache nodes for high CPU. High CPU can seriously degrade the performance of your cache, making it so your application cannot rely on your cache. High CPU occurs when your cache experiences more load than it can handle, and AWS recommends that you make sure your cache nodes never go above 90% CPU.

    What to Do about High CPU

    AWS ElastiCache can be back by either Memcached or Redis. When your cache has high CPU, what to do to fix it depends on the cache engine you’re using.

    When you reach 90% CPU on a Memcached node, you’ll need to scale up your cluster. You can do this by adding new cache nodes, or by scaling the node to a more powerful instance type. These actions can be performed either in the AWS Console or by using the AWS CLI.

    Because Redis is a single threaded application, to calculate high CPU, you’ll need to multiply the CPU utilization metric reported by ElastiCache must be multiplied by the number of cores your instance type has.

    Depending on your workload, high CPU can be dealt with in a couple of ways. If your workload is primary reading from the cache, add more read replicas to your cache cluster. If you’re doing more writes, you’ll want to scale up your instance type if you’re running Redis in non clustered mode, or add shards if you’re running in clustered mode. These actions can all be performed in the AWS Console or by using the AWS CLI.