OpsLM · Inference Benchmark
Same model (OpsLM-v1, Qwen3-4B), same Tesla T4, same engine-agnostic harness — so the difference is the serving engine, not the measurement.
Under load, vLLM's continuous batching scales throughput 13.4× while lowering tail latency. Ollama, without it, serializes concurrent requests — throughput stays flat and latency inflates 16×.
System throughput (tokens/sec) across the concurrency sweep
Per-request p50 latency (seconds) across the concurrency sweep
TTFT reduction on requests sharing a long prefix. The vLLM control (cache off) isolates the effect from warm-up.
Same server, same probe — only the --enable-prefix-caching
flag differs between the two vLLM rows. That gap is the cache.
JSON-schema parse rate, constraint off → on (n=4)
vLLM enforces the schema via its guided-decoding backend (0 → 1.00).
Ollama's OpenAI endpoint doesn't honor response_format, so it can't
be constrained (0 → 0).
A concurrency level counts only if it meets p95 TTFT ≤ 1s and p95 end-to-end ≤ 30s. Tokens generated past that point are served to users who have already left, and raw throughput counts them anyway.
vLLM holds all three levels. Ollama is serviceable only at c=1 — it violates the contract at 4 and at 16, where its p95 TTFT reaches 64.6 s. That turns a 13.4× throughput headline into a 6.3× admitted throughput ratio: smaller, and the one that survives a latency contract. Cost assumes $0.35/hr T4 — an assumption, not a measurement.
| Quant | Artifact | Engine | Status | Latency p50 (c1) | Throughput (c16) |
|---|