Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS ElastiCache for Redis Engine CPU Utilization metrics, how to interpret?

We are using AWS ElastiCache for Redis for our application, and we need some help in understanding the metrics. During high load, we saw a CPU utilization of 30%, But Engine CPU Utilization was showing almost 80%. Could someone please elaborate on the difference between these metrics and what are the optimum limits for those metrics for a better performance.

Thanks in advance.

like image 448
techy Avatar asked Jul 12 '18 10:07

techy


People also ask

What is AWS CPU utilization?

Description. CPUUtilization. The percentage of allocated EC2 compute units that are currently in use on the instance. This metric identifies the processing power required to run an application on a selected instance.

How does Redis measure performance?

Redis comes with a benchmark tool called redis-benchmark . This program can be used to simulate an arbitrary number of clients connecting at the same time and performing actions on the server, measuring how long it takes for the requests to be completed.

What is the difference between CPUUtilization and EngineCPUUtilization metrics in ElastiCache Redis?

EngineCPUUtilization: This metric reports CPU utilization of the Redis engine thread. Because Redis is single-threaded, it's a best practice to monitor the EngineCPUUtilization metric for nodes with four or more vCPUs. CPUUtilization: This metric shows the percentage of CPU utilization for the entire host.

How do I view ElastiCache contents?

Sign in to the AWS Management Console and open the ElastiCache console at https://console.aws.amazon.com/elasticache/ . To see a list of all available events, in the navigation pane, choose Events.


1 Answers

Now I got a better understanding of both the metrics. When it is CPU Utilization, it is total cpu utilization of that system. And Engine Utilization is specific to the redis process thread which handles all the redis queries. So in a system with 4 cores, as we all know redis processing happens in a single thread, only one core will be used by the redis for processing the queries. So in that case the maximum CPU Utilization by redis will be 25 %.

like image 108
techy Avatar answered Sep 28 '22 07:09

techy