Speed test matrix
Qwen3.5-9B-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-9B-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.862486 --enable-metrics --host 0.0.0.0 --port 8000 --api-key <redacted>
Prefill
prompt tok/s by context length8K context27.6K295 ms TTFT
16K context28.9K557 ms TTFT
32K context28.8K1,116 ms TTFT
64K context26K2,461 ms TTFT
128K context22.2K5,770 ms TTFT
251K context17K14,748 ms TTFT
256K context17.1K14,996 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 | 173.076 ms TTFT | 264.696 ms TTFT | 637.7126 ms TTFT | 1,151.1210 ms TTFT | 1,915.0359 ms TTFT | 2,750.3675 ms TTFT | 4,442.51,286 ms TTFT | 4,456.92,475 ms TTFT |
| 16K | 171.0101 ms TTFT | 87.7143 ms TTFT | 198.1212 ms TTFT | 1,049.0321 ms TTFT | 1,554.7685 ms TTFT | 2,920.41,274 ms TTFT | 3,481.72,551 ms TTFT | Over capacity |
| 32K | 166.7159 ms TTFT | 102.1275 ms TTFT | 548.9432 ms TTFT | 758.1821 ms TTFT | 1,599.21,721 ms TTFT | 2,133.83,276 ms TTFT | Over capacity | Over capacity |
| 64K | 158.8297 ms TTFT | 100.3564 ms TTFT | 491.5746 ms TTFT | 546.31,889 ms TTFT | 829.33,668 ms TTFT | Over capacity | Over capacity | Over capacity |
| 128K | 145.4534 ms TTFT | 100.2980 ms TTFT | 359.61,895 ms TTFT | 532.53,796 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity |
| 251K | 124.6974 ms TTFT | 84.91,974 ms TTFT | 223.63,940 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over 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.| 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 | 27.6K | — | 295 ms | — | — | 1 | — | — |
| Prefill | 16K | 1 | Valid | 28.9K | — | 557 ms | — | — | 1 | — | — |
| Prefill | 32K | 1 | Valid | 28.8K | — | 1,116 ms | — | — | 1 | — | — |
| Prefill | 64K | 1 | Valid | 26K | — | 2,461 ms | — | — | 1 | — | — |
| Prefill | 128K | 1 | Valid | 22.2K | — | 5,770 ms | — | — | 1 | — | — |
| Prefill | 251K | 1 | Valid | 17K | — | 14,748 ms | — | — | 1 | — | — |
| Prefill | 256K | 1 | Valid | 17.1K | — | 14,996 ms | — | — | 1 | — | — |
| Sustained decode | 8K | 1 | Valid | 173.0 | 173.6 | 76 ms | 5.8 ms | 1.0 | 1 | 5,190 | 30.0 s |
| Sustained decode | 8K | 2 | Valid | 264.6 | 148.9 | 96 ms | 6.8 ms | 2.8 | 2 | 7,937 | 30.0 s |
| Sustained decode | 8K | 4 | Valid | 637.7 | 161.5 | 126 ms | 6.2 ms | 5.1 | 4 | 19,130 | 30.0 s |
| Sustained decode | 8K | 8 | Valid | 1,151.1 | 147.7 | 210 ms | 6.8 ms | 9.6 | 8 | 34,532 | 30.0 s |
| Sustained decode | 8K | 16 | Valid | 1,915.0 | 121.1 | 359 ms | 8.3 ms | 21.0 | 16 | 57,441 | 30.0 s |
| Sustained decode | 8K | 32 | Valid | 2,750.3 | 86.7 | 675 ms | 11.5 ms | 48.0 | 0 | 82,496 | 30.0 s |
| Sustained decode | 8K | 64 | Valid | 4,442.5 | 67.9 | 1,286 ms | 14.7 ms | 81.6 | 0 | 133,248 | 30.0 s |
| Sustained decode | 8K | 128 | Valid | 4,456.9 | 35.4 | 2,475 ms | 28.2 ms | 192.0 | 0 | 133,632 | 30.0 s |
| Sustained decode | 16K | 1 | Valid | 171.0 | 171.8 | 101 ms | 5.8 ms | 1.0 | 1 | 5,131 | 30.0 s |
| Sustained decode | 16K | 2 | Valid | 87.7 | 42.4 | 143 ms | 23.6 ms | 142.8 | 0 | 2,628 | 30.0 s |
| Sustained decode | 16K | 4 | Valid | 198.1 | 48.4 | 212 ms | 20.7 ms | 121.2 | 0 | 5,944 | 30.0 s |
| Sustained decode | 16K | 8 | Valid | 1,049.0 | 136.2 | 321 ms | 7.4 ms | 9.7 | 8 | 31,470 | 30.0 s |
| Sustained decode | 16K | 16 | Valid | 1,554.7 | 98.1 | 685 ms | 10.2 ms | 24.0 | 0 | 46,640 | 30.0 s |
| Sustained decode | 16K | 32 | Valid | 2,920.4 | 89.7 | 1,274 ms | 11.2 ms | 33.1 | 0 | 87,616 | 30.0 s |
| Sustained decode | 16K | 64 | Valid | 3,481.7 | 54.6 | 2,551 ms | 18.3 ms | 78.4 | 0 | 104,448 | 30.0 s |
| Sustained decode | 16K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 1 | Valid | 166.7 | 167.7 | 159 ms | 6.0 ms | 1.0 | 1 | 5,002 | 30.0 s |
| Sustained decode | 32K | 2 | Valid | 102.1 | 51.2 | 275 ms | 19.5 ms | 66.0 | 0 | 3,060 | 30.0 s |
| Sustained decode | 32K | 4 | Valid | 548.9 | 137.9 | 432 ms | 7.3 ms | 7.8 | 4 | 16,466 | 30.0 s |
| Sustained decode | 32K | 8 | Valid | 758.1 | 95.9 | 821 ms | 10.4 ms | 12.0 | 0 | 22,744 | 30.0 s |
| Sustained decode | 32K | 16 | Valid | 1,599.2 | 98.9 | 1,721 ms | 10.1 ms | 16.6 | 0 | 47,968 | 30.0 s |
| Sustained decode | 32K | 32 | Valid | 2,133.8 | 66.6 | 3,276 ms | 15.0 ms | 34.3 | 0 | 64,000 | 30.0 s |
| Sustained decode | 32K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 1 | Valid | 158.8 | 160.6 | 297 ms | 6.2 ms | 1.0 | 1 | 4,765 | 30.0 s |
| Sustained decode | 64K | 2 | Valid | 100.3 | 50.2 | 564 ms | 19.9 ms | 33.3 | 0 | 3,009 | 30.0 s |
| Sustained decode | 64K | 4 | Valid | 491.5 | 129.0 | 746 ms | 7.8 ms | 4.8 | 4 | 14,745 | 30.0 s |
| Sustained decode | 64K | 8 | Valid | 546.3 | 70.3 | 1,889 ms | 14.2 ms | 12.0 | 0 | 16,384 | 30.0 s |
| Sustained decode | 64K | 16 | Valid | 829.3 | 53.7 | 3,668 ms | 18.6 ms | 24.6 | 0 | 24,880 | 30.0 s |
| Sustained decode | 64K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 1 | Valid | 145.4 | 148.3 | 534 ms | 6.7 ms | 1.0 | 1 | 4,362 | 30.0 s |
| Sustained decode | 128K | 2 | Valid | 100.2 | 50.4 | 980 ms | 19.8 ms | 18.0 | 0 | 3,004 | 30.0 s |
| Sustained decode | 128K | 4 | Valid | 359.6 | 88.3 | 1,895 ms | 11.3 ms | 5.5 | 0 | 10,788 | 30.0 s |
| Sustained decode | 128K | 8 | Valid | 532.5 | 66.8 | 3,796 ms | 15.0 ms | 9.3 | 0 | 15,968 | 30.0 s |
| Sustained decode | 128K | 16 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 251K | 1 | Valid | 124.6 | 129.4 | 974 ms | 7.7 ms | 1.0 | 1 | 3,737 | 30.0 s |
| Sustained decode | 251K | 2 | Valid | 84.9 | 43.1 | 1,974 ms | 23.2 ms | 10.0 | 0 | 2,546 | 30.0 s |
| Sustained decode | 251K | 4 | Valid | 223.6 | 58.7 | 3,940 ms | 17.0 ms | 6.0 | 0 | 6,704 | 30.0 s |
| Sustained decode | 251K | 8 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 251K | 16 | Over capacity | — | — | — | — | — | — | — | — |
| 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.
