Lets many OpenAI-SDK applications connect by changing the base URL.
vLLM is not merely a model loader; continuous batching, KV-cache management and OpenAI-compatible endpoints are designed for efficient multi-request serving. The useful benchmark is not single-user token/s but throughput and p95 latency under concurrency.
Do not blindly copy a `docker run` command without validating model license, tokenizer/chat template and quantization format. “Server started” does not prove correct answer formatting.
The official vLLM server exposes OpenAI-compatible endpoints such as Chat/Completions and can run from the `vllm/vllm-openai` Docker image. Even if weights fit in VRAM, reserve headroom for KV cache and concurrency.
The official vLLM server exposes OpenAI-compatible endpoints such as Chat/Completions and can run from the `vllm/vllm-openai` Docker image. Even if weights fit in VRAM, reserve headroom for KV cache and concurrency.
Deploy vLLM’s OpenAI-compatible server on a GPU host with Docker, model caching, tensor parallelism, endpoint tests, concurrency, prefix caching and real benchmark methodology.
Lets many OpenAI-SDK applications connect by changing the base URL.
Designed to schedule concurrent requests efficiently on the GPU.
Long context and concurrency consume VRAM beyond model weights.
Tensor parallelism can shard models across GPUs; interconnect bottlenecks must be measured.
Weights, quantization overhead, CUDA/runtime, KV cache and fragmentation share VRAM. Targeting 100% occupancy increases OOM risk.
| Budget | Driver |
|---|---|
| Weights | Parameters × bits |
| KV cache | Context × concurrency × model arch |
| Runtime | CUDA/kernels/graphs |
| Headroom | Peak/fragmentation |
If host `nvidia-smi` is unhealthy, do not debug it inside the container first. Validate driver/CUDA compatibility at host level.
nvidia-sminvidia-smi --query-gpu=name,memory.total,driver_version,pstate --format=csvdocker info | grep -i runtimedocker run --rm --gpus all nvidia/cuda:12.8.0-base-ubuntu24.04 nvidia-smiRedownloading a large model on each deployment increases downtime, bandwidth and startup time. Persist model cache outside the container.
mkdir -p /srv/vllm-cachedocker run --rm --gpus all -p 8000:8000 -v /srv/vllm-cache:/root/.cache/huggingface vllm/vllm-openai:latest --model MODEL_ID --host 0.0.0.0 --port 8000A server can appear ready while tokenizer/chat-template errors emerge on the first chat request. Put a simple smoke test into the deployment gate.
curl -s http://127.0.0.1:8000/v1/models | jq .curl -s http://127.0.0.1:8000/v1/chat/completions -H 'Content-Type: application/json' -d '{"model":"MODEL_ID","messages":[{"role":"user","content":"Say only READY"}],"max_tokens":8}' | jq .Two GPUs increase aggregate VRAM but do not guarantee 2× performance. Collective communication and PCIe/NVLink bandwidth shape scaling.
nvidia-smi topo -mnvidia-smi nvlink --status 2>/dev/null || trueWorkloads repeating long system/RAG prefixes may benefit more from caching; random-prompt benchmarks can miss that advantage.
At 1, 2, 4, 8 and 16 concurrent requests, measure TTFT, output tokens/s, p95 latency and error rate. Maximum concurrency within SLA matters more than peak tokens/s.
| Concurrency | TTFT p95 | Output tok/s | Error % |
|---|---|---|---|
| 1 | — | — | — |
| 2 | — | — | — |
| 4 | — | — | — |
| 8 | — | — | — |
| 16 | — | — | — |
Plan single- or multi-GPU vLLM benchmark environments on Eka Sunucu around model, context and concurrent-request targets.
Primary documentation and technical references used by this guide.
Continue with related infrastructure and implementation guides.
vLLM API
Its OpenAI-compatible endpoints allow many SDKs/apps to connect by changing base URL and model name; verify the specific endpoint features you use.
No. KV cache, runtime and concurrency require additional VRAM. Include context length and concurrent users in capacity planning.
No guarantee. Scaling depends on tensor-parallel communication, model size, batch and GPU interconnect.
Official documentation shows `vllm/vllm-openai` for OpenAI-compatible serving.