Speed test matrix
Qwen3.5-0.8B-Base on H200 NVL 141GB
sglang · 0.5.6.post3.dev9160+g1cf2b8c54 · BF166 contexts (8K–251K) × 8 concurrency levels (1–128) · prefill at 8K, 16K, 32K, 64K, 128K, 251K, 256K
Hardware
- Type
- Discrete GPU
- GPU
- H200 NVL
- VRAM
- 141 GB
- OS
- linux
Engine
- Engine
- sglang
- Version
- 0.5.6.post3.dev9160+g1cf2b8c54
- Quantization
- BF16
- Backend
- cuda
- Repository
- github.com/sgl-project/sglang
- Build
- cuda-13.2
- Commit
1cf2b8c54d81
Run
- Served model
- qwen
- Revision
- main
- Benchmark tool
- llm-inference-bench v0.4.29
- Decode test
- Fixed duration
- Prefill mode
- Measured during decode warm-up
- Time per measurement
- 30 s
- Max output
- 4,096 tokens
Launch command
env SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 "$HOME/env_h200-qwen-sglang/bin/sglang" serve --model-path Qwen/Qwen3.5-0.8B-Base --served-model-name qwen --trust-remote-code --tp 1 --reasoning-parser qwen3 --tool-call-parser qwen3_coder --context-length 262144 --mem-fraction-static 0.776885 --enable-metrics --host 0.0.0.0 --port 8000 --api-key <redacted> --mamba-radix-cache-strategy extra_buffer --speculative-algorithm EAGLE --speculative-num-steps 3 --speculative-eagle-topk 1 --speculative-num-draft-tokens 4
Prefill
prompt tok/s by context length8K context75.1K109 ms TTFT
16K context98.2K164 ms TTFT
32K context97.6K329 ms TTFT
64K context89.6K715 ms TTFT
128K context71.7K1,785 ms TTFT
251K context50.6K4,960 ms TTFT
256K context50.7K5,049 ms TTFT
Sustained decode
total tok/s · rows are context length, columns are simultaneous requests| Context | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 |
|---|---|---|---|---|---|---|---|---|
| 8K | 403.880 ms TTFT | 810.182 ms TTFT | 1,526.980 ms TTFT | 2,662.178 ms TTFT | 4,158.476 ms TTFT | 5,199.7407 ms TTFT | Not run | Not run |
| 16K | 402.4100 ms TTFT | 628.7111 ms TTFT | 1,517.694 ms TTFT | 2,478.699 ms TTFT | 3,735.2124 ms TTFT | 4,311.4688 ms TTFT | Not run | Not run |
| 32K | 396.1170 ms TTFT | 485.6177 ms TTFT | 1,378.0158 ms TTFT | 2,251.1176 ms TTFT | 2,760.0958 ms TTFT | 3,304.53,953 ms TTFT | Not run | Not run |
| 64K | 393.5283 ms TTFT | 637.8384 ms TTFT | 1,181.6293 ms TTFT | 1,813.3802 ms TTFT | 2,129.54,079 ms TTFT | 1,884.09,895 ms TTFT | Not run | Over capacity |
| 128K | 329.4494 ms TTFT | 236.4981 ms TTFT | 919.31,430 ms TTFT | 1,359.02,284 ms TTFT | 1,248.27,495 ms TTFT | 1,511.915,067 ms TTFT | Over capacity | Over capacity |
| 251K | 274.4966 ms TTFT | 83.31,969 ms TTFT | 432.73,836 ms TTFT | 820.87,876 ms TTFT | 782.415,647 ms TTFT | Over capacity | Over capacity | Over capacity |
Over capacity: not run because this many requests at this context would exceed the server's KV cache. Not run: the benchmark skipped this measurement during the run, or the run stopped early.
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.| Phase | Context | Requests at once | Status | Total tok/s | Per request tok/s | TTFT | Time between tokens | Average active requests | Completed requests | Output tokens | Measured for |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Prefill | 8K | 1 | Valid | 75.1K | — | 109 ms | — | — | 1 | — | — |
| Prefill | 16K | 1 | Valid | 98.2K | — | 164 ms | — | — | 1 | — | — |
| Prefill | 32K | 1 | Valid | 97.6K | — | 329 ms | — | — | 1 | — | — |
| Prefill | 64K | 1 | Valid | 89.6K | — | 715 ms | — | — | 1 | — | — |
| Prefill | 128K | 1 | Valid | 71.7K | — | 1,785 ms | — | — | 1 | — | — |
| Prefill | 251K | 1 | Valid | 50.6K | — | 4,960 ms | — | — | 1 | — | — |
| Prefill | 256K | 1 | Valid | 50.7K | — | 5,049 ms | — | — | 1 | — | — |
| Sustained decode | 8K | 1 | Valid | 403.8 | 412.7 | 80 ms | 2.4 ms | 1.0 | 3 | 12,113 | 30.0 s |
| Sustained decode | 8K | 2 | Valid | 810.1 | 414.4 | 82 ms | 2.4 ms | 2.1 | 6 | 24,301 | 30.0 s |
| Sustained decode | 8K | 4 | Valid | 1,526.9 | 394.0 | 80 ms | 2.5 ms | 4.1 | 12 | 45,807 | 30.0 s |
| Sustained decode | 8K | 8 | Valid | 2,662.1 | 333.4 | 78 ms | 3.0 ms | 8.4 | 17 | 79,864 | 30.0 s |
| Sustained decode | 8K | 16 | Valid | 4,158.4 | 265.2 | 76 ms | 3.8 ms | 16.1 | 32 | 124,754 | 30.0 s |
| Sustained decode | 8K | 32 | Valid | 5,199.7 | 173.3 | 407 ms | 5.8 ms | 39.7 | 32 | 155,995 | 30.0 s |
| Sustained decode | 8K | 64 | Not run | — | — | — | — | — | — | — | — |
| Sustained decode | 8K | 128 | Not run | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 1 | Valid | 402.4 | 403.5 | 100 ms | 2.5 ms | 0.9 | 3 | 12,071 | 30.0 s |
| Sustained decode | 16K | 2 | Valid | 628.7 | 373.1 | 111 ms | 2.7 ms | 11.0 | 4 | 18,859 | 30.0 s |
| Sustained decode | 16K | 4 | Valid | 1,517.6 | 392.9 | 94 ms | 2.5 ms | 3.9 | 12 | 45,528 | 30.0 s |
| Sustained decode | 16K | 8 | Valid | 2,478.6 | 316.7 | 99 ms | 3.2 ms | 8.3 | 16 | 74,359 | 30.0 s |
| Sustained decode | 16K | 16 | Valid | 3,735.2 | 231.0 | 124 ms | 4.3 ms | 16.4 | 19 | 112,052 | 30.0 s |
| Sustained decode | 16K | 32 | Valid | 4,311.4 | 146.7 | 688 ms | 6.8 ms | 34.0 | 32 | 129,348 | 30.0 s |
| Sustained decode | 16K | 64 | Not run | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 128 | Not run | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 1 | Valid | 396.1 | 393.4 | 170 ms | 2.5 ms | 1.0 | 3 | 11,882 | 30.0 s |
| Sustained decode | 32K | 2 | Valid | 485.6 | 387.6 | 177 ms | 2.6 ms | 20.8 | 3 | 14,569 | 30.0 s |
| Sustained decode | 32K | 4 | Valid | 1,378.0 | 340.9 | 158 ms | 2.9 ms | 4.1 | 10 | 41,339 | 30.0 s |
| Sustained decode | 32K | 8 | Valid | 2,251.1 | 285.1 | 176 ms | 3.5 ms | 8.3 | 17 | 67,529 | 30.0 s |
| Sustained decode | 32K | 16 | Valid | 2,760.0 | 199.1 | 958 ms | 5.0 ms | 19.2 | 16 | 82,805 | 30.0 s |
| Sustained decode | 32K | 32 | Valid | 3,304.5 | 109.3 | 3,953 ms | 9.1 ms | 38.8 | 2 | 99,140 | 30.0 s |
| Sustained decode | 32K | 64 | Not run | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 128 | Not run | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 1 | Valid | 393.5 | 414.0 | 283 ms | 2.4 ms | 1.0 | 3 | 11,805 | 30.0 s |
| Sustained decode | 64K | 2 | Valid | 637.8 | 331.7 | 384 ms | 3.0 ms | 2.5 | 4 | 19,134 | 30.0 s |
| Sustained decode | 64K | 4 | Valid | 1,181.6 | 313.8 | 293 ms | 3.2 ms | 3.9 | 8 | 35,449 | 30.0 s |
| Sustained decode | 64K | 8 | Valid | 1,813.3 | 228.9 | 802 ms | 4.4 ms | 8.3 | 9 | 54,393 | 30.0 s |
| Sustained decode | 64K | 16 | Valid | 2,129.5 | 162.0 | 4,079 ms | 6.2 ms | 16.1 | 16 | 63,769 | 29.9 s |
| Sustained decode | 64K | 32 | Valid | 1,884.0 | 72.4 | 9,895 ms | 13.8 ms | 47.1 | 0 | 56,500 | 30.0 s |
| Sustained decode | 64K | 64 | Not run | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 1 | Valid | 329.4 | 357.6 | 494 ms | 2.8 ms | 1.0 | 2 | 9,881 | 30.0 s |
| Sustained decode | 128K | 2 | Valid | 236.4 | 111.6 | 981 ms | 9.0 ms | 23.6 | 0 | 7,091 | 30.0 s |
| Sustained decode | 128K | 4 | Valid | 919.3 | 246.2 | 1,430 ms | 4.1 ms | 3.9 | 4 | 27,577 | 30.0 s |
| Sustained decode | 128K | 8 | Valid | 1,359.0 | 191.5 | 2,284 ms | 5.2 ms | 7.9 | 8 | 40,764 | 30.0 s |
| Sustained decode | 128K | 16 | Valid | 1,248.2 | 84.8 | 7,495 ms | 11.8 ms | 18.8 | 0 | 37,444 | 30.0 s |
| Sustained decode | 128K | 32 | Valid | 1,511.9 | 56.7 | 15,067 ms | 17.6 ms | 35.5 | 0 | 45,338 | 30.0 s |
| Sustained decode | 128K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 251K | 1 | Valid | 274.4 | 295.2 | 966 ms | 3.4 ms | 0.9 | 2 | 8,232 | 30.0 s |
| Sustained decode | 251K | 2 | Valid | 83.3 | 43.0 | 1,969 ms | 23.3 ms | 33.5 | 0 | 2,498 | 30.0 s |
| Sustained decode | 251K | 4 | Valid | 432.7 | 102.3 | 3,836 ms | 9.8 ms | 12.0 | 0 | 12,980 | 30.0 s |
| Sustained decode | 251K | 8 | Valid | 820.8 | 130.0 | 7,876 ms | 7.7 ms | 7.8 | 4 | 24,626 | 30.0 s |
| Sustained decode | 251K | 16 | Valid | 782.4 | 63.8 | 15,647 ms | 15.7 ms | 20.0 | 0 | 23,458 | 30.0 s |
| Sustained decode | 251K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 251K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 251K | 128 | Over capacity | — | — | — | — | — | — | — | — |
Over capacity: not run because this many requests at this context would exceed the server's KV cache. Not run: the benchmark skipped this measurement during the run, or the run stopped early.
