🟡 🏥 In Practice Published: · 2 min read ·

CNCF: Goodput Metric Reveals Nearly 10× Worse p95 Latency in Throughput-Optimized LLM Serving

Latency and throughput graph for an LLM server comparing throughput and goodput metrics

Akamas engineer Graziano Casto shows on the CNCF blog that goodput — completed requests per second within a target latency — is a better metric for LLM serving than raw throughput. A benchmark on Qwen2.5-7B and an NVIDIA A10G GPU shows that a configuration with 50% higher throughput can have a p95 latency nearly 10× higher, from 50 to 494 milliseconds.

🤖

This article was generated using artificial intelligence from primary sources.

What is goodput and why does it differ from throughput?

Goodput measures the number of completed requests per second that meet a predefined target latency, while throughput counts all processed requests regardless of whether they are fast enough. Akamas engineer Graziano Casto shows on the CNCF blog that higher throughput does not necessarily mean better service — a configuration may process more requests overall, but some of them with unacceptably long latency for the end user.

Benchmark: 50% higher throughput with nearly 10× worse latency

A test on the Qwen2.5-7B model, on a single NVIDIA A10G GPU within an EKS cluster (Amazon Elastic Kubernetes Service), using the vLLM serving engine and the GuideLLM load-simulation tool, showed that a configuration with 50% higher combined throughput can have a p95 time-per-output-token — the latency below which 95% of requests fall — nearly 10× higher, from about 50 milliseconds to about 494 milliseconds. Three workload types were tested: chatbot with a strict time-to-first-token (TTFT) requirement, reasoning with an output of about 4,000 tokens, and agentic with short chained calls.

Casto recommends automated search over parameters such as gpu_memory_utilization, max_num_batched_tokens, and max_num_seqs to optimize serving configuration directly for goodput rather than raw throughput. The approach requires testing separately per workload type, since chatbot, reasoning, and agentic scenarios have different target latencies and tolerances, so no single universal configuration covers all cases equally well.

Manually searching parameter combinations for every model-and-GPU pairing is impractical given the large number of possible settings, so Casto advocates an automated process that systematically tests configurations and selects the one with the best goodput for the target workload type. Teams serving LLMs in production thus get a concrete method for avoiding the trap of optimizing solely for throughput, which in the benchmark leads to nearly tenfold worse p95 latency for the end user.

Frequently Asked Questions

What is goodput and how does it differ from throughput?
Goodput counts only completed requests per second that meet a target latency, while throughput counts all processed requests regardless of speed, so higher throughput can mask poor latency for a portion of requests.
How much did p95 latency differ in the CNCF benchmark?
A configuration with 50% higher combined throughput on the Qwen2.5-7B model and an NVIDIA A10G GPU had a p95 time-per-output-token nearly 10× higher — around 50 milliseconds for the goodput-aware configuration versus around 494 milliseconds.
Which parameters does Akamas recommend for optimizing goodput?
It recommends automated search over the parameters gpu_memory_utilization, max_num_batched_tokens, and max_num_seqs, tested separately for chatbot, reasoning, and agentic workload types.

📬 AI news in your inbox

A daily digest built your way — pick topics, sources and cadence. One-click unsubscribe.