Problems / LLM serving, medium

Prompt cache that rarely hits

An exact-match prompt cache sits in front of the model but hits only 5%: timestamps in the prompt make every prompt unique. The model’s token quota is tight.

Free to open. Runs in your browser, no sign-up.

Your goals

Success ≥ 99%, time to first token p99 ≤ 2.5 s.

The traffic

45 requests a second for 30 seconds: 100% request (reads).

The system

What each component does in this design, and what calls it. The simulator mimics each one from these settings.

ComponentIts job hereSettings
Load balancerLoad balancerTraffic enters here.Calls AI app.Layer 4 balancers route by IP and port; layer 7 balancers read HTTP and can route by path or header.–
AI appApp serviceLoad balancer forwards to it.Calls Prompt cache.Little's law: throughput ≈ concurrency ÷ latency. 200 slots at 50 ms serve about 4,000 req/s.3 replicas × 500 slots · timeout 30 s
Prompt cachePrompt cacheAI app calls it.Calls Model.Providers can cache a long repeated prompt prefix, cutting cost and time to first token.2000 slots · 5% hit rate
ModelLLM endpointPrompt cache calls it.Latency has two parts: time to the first token, then a steady stream of tokens per second.400 streams · 4M input tokens/min

Hints

Try it first. Open one hint at a time if you get stuck.

Hint 1

Every miss spends quota.

Hint 2

Put the stable part of the prompt first; move timestamps out.

One way to solve it

Raise the prompt cache hit rate by normalising prompts.

More llm serving problems