Every millisecond goes somewhere.
A slow request is usually several waits added together. Change the inputs and watch the critical path move.
Each stage waits for the previous one. The durations add up.
An illustrative model, not a benchmark. Assumes fixed durations, a single queue, and no concurrency overhead. Network time is the total round trip.
Try a few things
Start by increasing network time. Both services wait for the request to arrive, so making them parallel won’t remove that cost.
Next, set both services to 100 ms and switch on parallel execution. If they’re independent, the pair can finish in the time of the slower service. Set one to 0 ms and the parallel advantage disappears.
Know what the model leaves out
This experiment assumes fixed durations and no cost for coordination. Real systems have variable queues, shared resources, connection setup, and tail latency. Two services competing for the same database can become slower when run together.
The useful question is whether work can overlap without creating a dependency or moving the bottleneck. Read Latency is a budget, not a single number for the reasoning behind the model.