Replies: 2 comments
|
@rhalaly From the official benchmarks, LiteLLM has recently been tested at:
Given those numbers, I wouldn't simply divide by four and conclude that a single core = ~250 RPS. The relationship isn't linear because of:
So my expectation would be:
A couple of clarifying questions:
Those two scenarios can have very different throughput characteristics. |
|
Hey @rhalaly! If we are talking about a strict 1 core / 1 worker / 1 pod setup, here is the realistic breakdown you can expect: Bare-bones / Mock setup (no DB, no callbacks, fast upstream): You're looking at roughly 100 to 250 RPS. Because Python/FastAPI handles async I/O well for simple passthroughs, it won't totally choke, but the single event loop will start queuing requests pretty quickly. Real-world production setup (Postgres spend tracking, logging, active callbacks): That number is going to plummet down to 20 to 50 RPS. The reason is that synchronous database writes and heavy middleware run on that exact same single core, creating a massive bottleneck due to Python's GIL and I/O blocking. You shouldn't run a single-core production proxy if you expect high throughput. If your pod has more vCPUs available, definitely bump your workers up to match (--num_workers 4 or whatever your core count is) to actually get close to those 1,000+ QPS benchmark numbers. |
Uh oh!
There was an error while loading. Please reload this page.
What is the expected RPS for a single LiteLLM proxy instance (single pod, single worker, single core)?
All reactions