Fixed Workload vs Fixed Pressure: A Decision Framework for ElastiCache Architecture
A benchmark can be repeatable and still support the wrong decision. I reached that point after 21 one-hour Valkey 9.0 runs across seven Amazon ElastiCache node designs. The same fixed workload pushed the general-purpose M family to 99.89% to 100% memory, while the memory-optimized R family finished with roughly 27% to 34% headroom. A flat Intel-versus-Graviton ranking would have converted different operating regimes into a confident but false architecture conclusion.
I stopped treating the matrix as a CPU race and reframed the program around two complementary views: fixed workload for the application-placement decision, and fixed pressure for the systems comparison. The result is a decision framework that keeps capacity, reliability, and investment risk visible before a team commits to an ElastiCache design.

When a valid benchmark becomes a decision risk
The original question sounded simple: which architecture is faster? The data showed why that question was too broad. A product owner, a platform architect, and a financial decision-maker can look at the same benchmark while asking three different things:
- Application fit: what happens if the unchanged workload is placed on this provisioned node?
- Systems behavior: how do the architectures behave when the resource pressure is comparable?
- Investment fit: which option provides enough headroom, resilience, and growth margin for the cost model?
One scoreboard cannot answer all three. If throughput is ranked without its memory state, the benchmark hides the capacity condition that produced the number. The technical result may be accurate while the resulting recommendation is wrong.
The evidence that forced the redesign
The decisive observation was not which node posted the largest median. It was that one unchanged workload landed in three different operating regimes:
- General-purpose M nodes: all three designs finished at the memory boundary. Eviction timing varied between runs, so throughput also reflected how long each run spent before or after the cache cliff.
- Memory-optimized R nodes: all nine runs retained meaningful headroom and recorded zero evictions. They measured sustained service with capacity remaining.
- Network-optimized C7gn: the smaller memory envelope produced sustained eviction. That is a result about the provisioned design point, not a clean Graviton3E control.
Those states are operationally different. Treating them as a single processor ranking would turn capacity effects into an architecture claim. That was the point where the right project decision was to change the measurement model, not defend the original headline.
Two measurement contracts, two decisions
I split the comparison into two contracts and made the variables explicit. Each contract preserves a different truth. Neither is a substitute for the other.
Fixed workload exposes practical capacity differences. Fixed pressure isolates the systems question more tightly. Publishing both prevents a convenient but misleading "same size" or "same CPU generation" score from replacing the actual architecture decision.
Decision gates instead of one score
The framework turns the benchmark from a ranking exercise into a sequence of reviewable decisions:
- Define the decision first. Separate application placement from architecture isolation before selecting the metric.
- Set acceptance criteria. Keep latency, memory headroom, eviction behavior, hit behavior, and growth margin beside throughput.
- Run the fixed workload. Eliminate options that cannot carry the representative working set within the required operating margin.
- Run fixed pressure on the remaining candidates. Calibrate each node to the same target utilization and repeat the experiment three times.
- Add the current commercial model. Evaluate regional pricing, topology, availability requirements, and expected growth only after the technical states are comparable.
- Record the recommendation and its limits. Preserve what the evidence supports, what remains unknown, and what would trigger another test.
The fixed-workload evidence is complete. The fixed-pressure dataset is the next experimental phase. It has not yet been run. Keeping that boundary explicit is part of the engineering discipline: a roadmap is not a result, and an attractive inference is not evidence.
The next layer in the ElastiCache lab
This decision framework develops the project rather than repeating its earlier work. Beyond Documentation established the evidence-producing lab. Designing for the Cliff made the boundary condition intentional. Hardening the Benchmark made the lifecycle observable and the artifacts durable. This page adds the layer above them: deciding which question the evidence is allowed to answer.
The supporting analyses remain inspectable without being repeated here: the general-purpose generation comparison, the memory-optimized comparison, and the cross-family design-point comparison. The earlier M5 versus M6g purchasing read remains the focused Intel-versus-Graviton analysis.
What the framework protects
- Capacity and reliability: a fast result at maxmemory is not mistaken for a sustainable operating margin.
- Investment discipline: infrastructure spend is not justified by measurements taken under non-equivalent capacity conditions.
- Delivery credibility: every recommendation can be traced from business question to measurement contract, evidence, and known limitation.
- Growth optionality: headroom and eviction risk stay visible instead of disappearing behind an average throughput number.
This is where technical ownership becomes project leadership. The work is not only to generate data, but to recognize when the original framing is unsafe, change the plan, define the next evidence gate, and communicate the trade-off in terms that engineering, product, and financial stakeholders can use.

Architecture starts with the question
The useful outcome of these 21 runs is not a universal Intel-versus-ARM winner. It is a reusable way to stop benchmark convenience from overriding the business objective. Fixed workload explains what happens to the application on a provisioned system. Fixed pressure explains how candidate designs behave at comparable stress. Keeping both views separate turns performance data into a defensible architecture decision.