PERF02-BP04 Determine the required configuration by right-sizing
Analyze the various performance characteristics of your workload and how these characteristics relate to memory, network, I/O, and CPU usage. Use this data to choose resources that best match your workload’s profile. For example, a memory-intensive workload like a database may benefit from a higher memory per core ratio. However, a compute intensive workload may need a higher core count and frequency, but can be satisfied with a lower amount of memory per core.
Common anti-patterns:
-
You choose an instance with the largest values across all performance characteristics available for all workloads.
-
You standardize all instances types to one type for ease of management.
-
You optimize against standard synthetic benchmarks without validating the actual requirements of a particular workload.
-
You keep the same infrastructure for a long period of time without reevaluating and integrating new offerings.
Benefits of establishing this best practice: When you are familiar with the requirements of your workload, you can compare these needs with available compute offerings and quickly experiment to determine which ones meet the needs of your workload most efficiently. This allows for optimal performance without overpaying for resources not required.
Level of risk exposed if this best practice is not established: Medium
Implementation guidance
Modify your workload configuration by right sizing. To optimize performance, overall efficiency, and cost effectiveness, determine first which resources your workload needs. Choose memory-optimized instances, such as the R-family of instances, for memory-intensive workloads like a database. For workloads that require higher compute capacity, choose the C-family of instances, or choose instances with higher core counts or higher core frequency. Choose I/O performance based on the needs of your workload instead of comparing against standard, synthetic benchmarks. For higher I/O performance, choose instances from the I-family of instances, select I/O optimized Amazon EBS volumes
Right sizing verifies that your workloads perform as well as possible while not overpaying on resources not needed.
Implementation steps
-
Know your workload or analyze its resource requirements.
-
Evaluate workloads separately. The AWS Cloud gives you flexibility and agility to right-size each workload on its own without needing to compromise.
-
Create test environments to find the best match of compute offerings against your workload.
-
Continually reevaluate new compute offerings, and compare against your workload’s needs.
-
Routinely review new service offers for better price performance.
-
Regularly conduct Well-Architected Framework Reviews.
Resources
Related best practices:
Related documents:
Related videos:
-
Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (CMP202-R1)
-
Deliver high performance ML inference with AWS Inferentia (CMP324-R1)
-
Optimize performance and cost for your AWS compute (CMP323-R1)
-
Powering next-gen Amazon EC2: Deep dive into the Nitro system
-
Optimize performance and cost for your AWS compute (CMP323-R1)
Related examples: