Problems / AI products, medium
A voice assistant’s text-to-speech has 20 slots and takes about 600 ms per reply at 50 replies a second.
Free to open. Runs in your browser, no sign-up.
Success ≥ 99%, p99 ≤ 5 s.
50 requests a second for 30 seconds: 100% request (reads).
What each component does in this design, and what calls it. The simulator mimics each one from these settings.
| Component | Its job here | Settings |
|---|---|---|
| Load balancerLoad balancer | Traffic 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 service | Load balancer forwards to it.Calls Speech to text, GPU serving pool, Text to speech.Little's law: throughput ≈ concurrency ÷ latency. 200 slots at 50 ms serve about 4,000 req/s. | 3 replicas × 500 slots · timeout 30 s |
| Speech to textSpeech to text | AI app calls it.Streaming speech recognition returns partial words while the user is still talking. | 200 slots · 6,000 calls/min |
| GPU serving poolSelf-hosted serving pool | AI app calls it.GPU servers batch requests together; throughput rises with batch size until memory runs out. | 400 slots |
| Text to speechText to speech | AI app calls it.Speech synthesis can start playing before the whole sentence is generated. | 20 slots · 6,000 calls/min |
Try it first. Open one hint at a time if you get stuck.
50 × 0.6 s = 30 in flight.
Find the red card first, then its capacity: slots ÷ seconds per request.
Give text-to-speech more capacity.