How do I choose the appropriate instance type and node size for my ElastiCache for Redis self-designed cluster?

3 minute read
0

I want to choose the appropriate instance type and node size for my Amazon ElastiCache for Redis self-designed cluster.

Short description

When you choose a node size for your ElastiCache cluster and your cluster configuration, take the following actions:

  • Choose the appropriate node type.
  • Benchmark your nodes.
  • Decide how much data you're going to store.
  • Determine your expected network traffic.
  • Choose the appropriate cluster mode.

Resolution

Choose the appropriate node type

Choose a node type that provides the appropriate amount of memory and CPU processing power for your use case.

Benchmark your nodes

To estimate the instance performance on your expected workload, use the redis-benchmark utility to benchmark your nodes. For more information, see Redis benchmark on the Redis website. Also, see Five workload characteristics to consider when right sizing Amazon ElastiCache Redis clusters.

When you perform benchmark tests, replicate your application traffic workload and include the number of requests, key distribution, and item size. Also, monitor the Amazon CloudWatch metrics for memory usage, processor utilization, and application data requests. For more information, see Choosing your node size.

Decide how much data you're going to store

The amount of data that you plan to store and your Redis version's reserved memory parameter determine the instance type and node size that you choose. For more information on the reserved memory parameter, see Specifying your reserved memory management parameter.

Determine your expected network traffic

Make sure that the node type that you choose can manage the amount of data that's sent and doesn't reach the network traffic maximum. To determine the maximum throughput on an ElastiCache node, run a benchmark test on a similar Amazon Elastic Compute Cloud (Amazon EC2) instance. For example, for a cache.m4.large node, run your benchmark tests on an Amazon EC2 m4.large instance.

Benchmark tests also estimate how much bandwidth you can send between your client and your Redis node. When you reach your network maximum, a flat line is shown on the bandwidth graph. As a result, your hardware also reaches its maximum quota.

For node instance types with burstable network performance, the burst bandwidth (Gbps) lasts only a short time period. To better determine the node type that can manage your expected network traffic, check the baseline bandwidth (Gbps). To check a node type's baseline and burst bandwidth, see the General table in Current generation. If real traffic is close to or above the baseline bandwidth (Gbps), then increased latency and timeouts in your application might occur. To increase your network bandwidth, scale up or scale out.

Network performance also applies to your client. For clients that are t2.micro, have low to moderate network performance, and have data sent to m4.10xlarge, use the maximum throughput on your client first.

Choose the appropriate cluster mode

Based on how much network traffic you expect, choose the appropriate cluster mode.

AWS OFFICIAL
AWS OFFICIALUpdated a year ago