Erste SchritteLeaderboardDecode calculatorModelleOrganizationsReportsMatrix runsHardwareBenchmarksMarktplatzVermietungenProAPI-Doku
Sprache
Actual Computer — Every computer, one endpoint

Speed test matrix

Qwen3.5-9B-FP8-dynamic on RTX 3090 24GB

vllm · 0.32.0 · FP8 dynamic2 contexts (0–8K) × 8 concurrency levels (1–128) · prefill at 8K
by @Sandbergllm-inference-bench v0.8.0Measured

Hardware

Type
Discrete GPU
GPU
RTX 3090
VRAM
24 GB
CPU
AMD Ryzen 9 7900X (12C)
RAM
32 GB
OS
Ubuntu 24.04.5

Engine

Engine
vllm
Version
0.32.0
Quantization
FP8 dynamic
Backend
cuda
Build
vllm/vllm-openai:v0.32.0-x86_64

Run

Served model
bench
Revision
main
Decode test
Fixed duration
Prefill mode
Measured during decode warm-up
Time per measurement
30 s
Max output
8,192 tokens

Launch command

# Untuned out-of-the-box baseline. Spec decode: MTP, 2 tokens lookahead
# 1x RTX 3090 24GB (Zagitta/gpu-unlock), 350 W limit (VBIOS max), PCIe Gen4 x16 | AMD Ryzen 9 7900X 12C | 32 GB DDR5 | Ubuntu 24.04.5, NVIDIA driver 595.99.02
vllm serve RedHatAI/Qwen3.5-9B-FP8-dynamic --max-model-len 16384 --gpu-memory-utilization 0.94 --max-num-seqs 128 --enable-prefix-caching --trust-remote-code --language-model-only --speculative-config {"method":"mtp","num_speculative_tokens":2}

Prefill

prompt tok/s by context length
8K context6,0961,343 ms TTFT

Sustained decode

total tok/s · rows are context length, columns are simultaneous requests
Context1248163264128
0103.529 ms TTFT190.752 ms TTFT373.188 ms TTFT666.1135 ms TTFT1,134.8283 ms TTFTOver capacityOver capacityOver capacity
8K89.6114 ms TTFT176.2182 ms TTFT339.3403 ms TTFT540.6591 ms TTFTOver capacityOver capacityOver capacityOver capacity

Over capacity: not run because this many requests at this context would exceed the server's KV cache.

TTFT is measured after the benchmark warms the server's prompt cache, so it mostly excludes prefill.

All measurements

Latencies are medians. Total tok/s is output across all simultaneous requests.
PhaseContextRequests at onceStatusTotal tok/sPer request tok/sTTFTTime between tokensAverage active requestsCompleted requestsOutput tokensMeasured for
Prefill8K1Valid6,096.0—1,343 ms——1——
Sustained decode01Valid103.5103.929 ms9.6 ms1.003,10330.0 s
Sustained decode02Valid190.797.452 ms10.3 ms2.005,71830.0 s
Sustained decode04Valid373.195.188 ms10.5 ms4.0011,18430.0 s
Sustained decode08Valid666.185.2135 ms11.7 ms8.0019,97030.0 s
Sustained decode016Valid1,134.872.2283 ms13.9 ms16.0034,02130.0 s
Sustained decode032Over capacity————————
Sustained decode064Over capacity————————
Sustained decode0128Over capacity————————
Sustained decode8K1Valid89.690.9114 ms11.0 ms1.002,68630.0 s
Sustained decode8K2Valid176.289.4182 ms11.2 ms2.005,28230.0 s
Sustained decode8K4Valid339.386.1403 ms11.6 ms4.0010,17630.0 s
Sustained decode8K8Valid540.668.1591 ms14.7 ms8.0016,20830.0 s
Sustained decode8K16Over capacity————————
Sustained decode8K32Over capacity————————
Sustained decode8K64Over capacity————————
Sustained decode8K128Over capacity————————

Over capacity: not run because this many requests at this context would exceed the server's KV cache.