Skip to content

docs: add inference benchmarks for Kubernetes and standalone - #1050

Merged
kristin-kronstain-brown merged 19 commits into
mainfrom
inference-benchmark-docs
Sep 25, 2026
Merged

kristin-kronstain-brown merged 19 commits into
mainfrom
inference-benchmark-docs

Conversation

@danehans

@danehans danehans commented Sep 17, 2026 •

Copy link
Copy Markdown
Collaborator

Company

N/A

Contribution summary

Checklist

Logo file and listing requirements: not applicable.

  • Built the staged changes in an isolated directory with Hugo.
  • Verified summary and per-rate measurements against the published reports.
  • Checked benchmark pages, overview links, chart assets, and section ordering in both modes and versions.

Preview

Reviewed the pages locally.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

Deploying agentproxy with  Cloudflare Pages  Cloudflare Pages

Latest commit: dd91fc9
Status:⚡️  Build in progress...

View logs

@danehans
danehans requested a review from artberger September 18, 2026 16:17
@danehans

Copy link
Copy Markdown
Collaborator Author

@artberger PTAL

@danehans
danehans removed the request for review from artberger September 23, 2026 16:31
@danehans
danehans force-pushed the inference-benchmark-docs branch from 1a7da02 to a52dc29 Compare September 23, 2026 16:36
@danehans

Copy link
Copy Markdown
Collaborator Author

@kristin-kronstain-brown PTAL

@kristin-kronstain-brown

Copy link
Copy Markdown
Collaborator

Thank you for this, @danehans. The numbers check out: I compared every table value against metrics.csv at 522fc04 and they all match, and the reuse structure across both modes and versions is clean.

Blocking

environment.md line 3: "It uses no EPP or scoring" reads as if the campaign itself uses no EPP, which contradicts the next paragraph. Suggested:

This {{< gloss "Benchmark campaign" >}}campaign{{< /gloss >}} compares EPP-based agentgateway routing with a plain Kubernetes Service across eight vLLM model servers. The Kubernetes Service baseline uses no [EPP](https://llm-d.ai/docs/architecture/core/router#llm-d-endpoint-picker-epp) or [scoring](https://llm-d.ai/docs/architecture/core/router/epp/configuration#plugins) to route inference requests to a model server endpoint.

Questions only you can answer

  1. The summary compares at 60 requests/s, where the Service baseline has been saturated at about 6.7 requests/s since 20 QPS. At 10 QPS, the Service has slightly higher output throughput (5,113 vs 4,739). Can you add one sentence that says where the results diverge, so that the TTFT reduction reads as the effect of saturation?
  2. failure_rate is 0.0 for every stage in both CSVs. Can the latency caveat state that no requests failed, instead of only asking readers to check?
  3. The chart legends say "k8s service (RR)". How does the baseline Service balance load? The prose should match the legend.

Smaller items

  • Pin the benchmark links to 522fc04 instead of main, as the README describes.
  • Move benchmarking.md into inference/, so that the generated cards list it. You can then remove disableCards, the manual card grid, and the ## Benchmarking section from the four _index.md files. Weight 47 also ties with realtime.md and virtual-models.md.
  • Replace {{< callout >}} with GitHub alerts (> [!NOTE], > [!WARNING]), which this repo uses elsewhere.
  • Nit: remove "intelligently" in inference.md, and the n/a sentence, because no n/a values appear in the tables.

@danehans

Copy link
Copy Markdown
Collaborator Author

@danehans thanks for the review. I resoled your #1050 (comment), PTAL.

@kristin-kronstain-brown kristin-kronstain-brown left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one question, but not a deal breaker.

@@ -0,0 +1,4 @@
> [!NOTE]
> The published metrics record zero failed requests across all measured stages
> for the Kubernetes Service baseline and both agentgateway modes. Each treatment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it confusing to say "Both agentgateway modes" when the topic is centered around one? Could that part of the sentence just be removed?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a shared page used by both agentgateway deployment modes. I prefer this being a shared page to avoid future drift.

an increase, which is favorable for throughput but unfavorable for latency.

At 10 requests/s, the Service baseline has slightly higher output throughput;
both agentgateway modes pull ahead at 15 requests/s, and the baseline's TTFT

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question here.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same response as #1050 (comment).

Publish campaign results, methodology, and full-size charts for
Kubernetes and standalone inference routing.

Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
Signed-off-by: Daneyon Hansen <daneyon.hansen@solo.io>
@danehans
danehans force-pushed the inference-benchmark-docs branch from 8e211b7 to 93aa242 Compare September 25, 2026 17:21
@danehans

Copy link
Copy Markdown
Collaborator Author

@kristin-kronstain-brown thanks for the review. I responded to your latest comments. What else is needed to merge the PR?

@kristin-kronstain-brown

Copy link
Copy Markdown
Collaborator

Nothing. Merging.

@kristin-kronstain-brown
kristin-kronstain-brown merged commit 5bc6821 into main Sep 25, 2026
5 of 6 checks passed
@danehans
danehans deleted the inference-benchmark-docs branch September 27, 2026 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants