Quanta

← Back to Briefings

A 100-Worker Load Test Before Your Model Launch

Team playbooksEN2 reads

A model integration can pass every functional check and still fail when a hundred workers start sending requests. Queues grow, long responses occupy connections, and retries consume the budget intended for useful work. For teams running sustained workloads, launch readiness means proving that the whole request path behaves under pressure—not just that one prompt returns an answer.

This walkthrough uses a proposed 100-worker test ceiling. Treat that number as a planning example, not a throughput promise: your production demand, token mix, and applicable limits should determine the actual target.

01 · Step 1: Define the workload and launch gates

Start with the traffic your application will generate. Separate interactive requests, background jobs, and long-running agent tasks. Estimate arrival rates, input lengths, output lengths, and acceptable waiting times for each class.

Set pass-or-fail criteria before testing. Otherwise, a successful-looking average can hide an unusable tail.

  • › Latency: Set targets for queue wait, time to first token, and total completion time.
  • › Reliability: Define acceptable timeout rates, request failures, and invalid application outputs.
  • › Capacity: Specify required completed jobs per minute and a maximum queue age.
  • › Budget: Establish a test spending ceiling and an acceptable cost per successful job.

02 · Step 2: Test the production request path

Use the same SDK configuration, connection pooling, authentication handling, streaming behavior, and timeout hierarchy planned for production. Include your application queue, response parser, and validation checks. A script that bypasses these components measures a different system.

Quanta is a practical fit for teams testing multiple models through one pay-as-you-go relay and one balance. It works with any OpenAI SDK, as well as Claude Code, Codex, and Gemini CLI. Open a Quanta account to run the rehearsal through the integration your team intends to deploy. Confirm the supported model identifier and request options before generating load.

03 · Step 3: Build a representative token mix

Create a sanitized prompt set with short, typical, and unusually large inputs. Include realistic output lengths, repeated prefixes, tool interactions where relevant, and malformed responses your application must handle. Keep production secrets out of test fixtures.

If evaluating Claude Sonnet 5.5 and Gemini 2.5 Flash, run separate baselines first. Do not assume equal request counts mean equal work: output length and generation speed can change resource occupancy substantially.

Test cold-cache and repeated-prefix scenarios separately. Quanta meters calls on real tokens, with cache writes and cache reads priced separately. Record those categories independently, and use reported usage rather than assuming a repeated prompt produced a cache hit.

04 · Step 4: Ramp from one worker to sustained load

Begin with one worker to verify correctness and instrumentation. Increase concurrency in stages—for example, 5, 10, 25, 50, then 100 workers—holding each stage until latency and throughput settle. Stop when a launch gate fails; do not push blindly to the ceiling.

Concurrency is not arrival rate. A fixed worker pool sends fewer new requests when responses slow down, potentially hiding queue growth. Add a controlled arrival-rate test that matches expected demand, with bounded queues and explicit rejection behavior. Keep load-generator resources under observation so its own connection or processor limits do not distort results.

05 · Step 5: Exercise retries, limits, and recovery

Use controlled fault injection to test throttling responses, connection failures, and stalled streams without deliberately overwhelming an external service. Apply bounded retries with exponential backoff and jitter, honoring retry guidance when available.

Track original jobs separately from attempts. Retrying can increase spend, and restarting a partially completed operation can duplicate downstream actions. Verify cancellation, deduplication, and retry budgets. Then run a sustained soak followed by a brief, bounded burst to check whether queues drain and latency recovers.

06 · Step 6: Turn measurements into rollout limits

Report median and tail latency, completed jobs, failed jobs, retry attempts, token categories, and cost per successful job. Segment by model and workload class. Reconcile application records with metered usage; unfinished streams and failed jobs still need investigation.

Launch below the highest sustainable load that passed every gate, leaving measured headroom for bursts. Configure concurrency caps, queue limits, spending alerts, and a rollback trigger. Expand traffic gradually, and rerun the test after changing prompts, models, caching behavior, or retry policy. A load test earns its value when its findings become production controls.