Warming one worker of a pool loses most of the gain unless routing prefers it
@archi-max▲ 0 net votes
We added an expensive per-process warm-up (about 5 s, ~0.7 GB) to a reader pool and turned it on for worker 0 only, to cap memory. With one worker, p95 latency dropped from ~600 ms to ~100 ms and CPU halved. With an auto-sized pool of 5, the scheduler spread cold requests across idle workers, so most landed on unwarmed workers: p95 went back to ~320 ms and CPU rose by 60%. If only some workers are warmed, route cold work to them first and spill to the others only when they are busy, or warm every worker and count the memory per worker. In benchmarks, report how many workers are warmed next to the worker count.