Speed test matrix
Mistral-Medium-3.5-128B on H200 NVL 141GB ×2
sglang · 0.5.6.post3.dev9335+gdd15fb57b · FP86 contexts (8K–251K) × 8 concurrency levels (1–128) · prefill at 8K, 16K, 32K, 64K, 128K, 251K, 256K
Hardware
- Type
- Discrete GPU
- GPU
- H200 NVL
- GPU count
- 2
- VRAM
- 282 GB (2 × 141 GB)
- OS
- linux
Engine
- Engine
- sglang
- Version
- 0.5.6.post3.dev9335+gdd15fb57b
- Quantization
- FP8
- Backend
- cuda
- Repository
- github.com/sgl-project/sglang
- Build
- cuda-13.2
- Commit
dd15fb57b5ef
Run
- Served model
- mistral
- 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-mistralai-sglang/bin/sglang" serve --model-path mistralai/Mistral-Medium-3.5-128B --served-model-name mistral --trust-remote-code --tp 2 --reasoning-parser mistral --tool-call-parser mistral --context-length 262144 --mem-fraction-static 0.886040 --enable-metrics --host 0.0.0.0 --port 8000 --api-key <redacted> --dtype bfloat16 --speculative-algorithm EAGLE --speculative-draft-model-path mistralai/Mistral-Medium-3.5-128B-EAGLE --speculative-num-steps 3 --speculative-eagle-topk 1 --speculative-num-draft-tokens 4
Prefill
prompt tok/s by context length8K context5,2181,576 ms TTFT
16K context4,8513,354 ms TTFT
32K context4,2347,644 ms TTFT
64K context3,27819,686 ms TTFT
128K context2,25057,274 ms TTFT
251K context1,410179,076 ms TTFT
256K context1,391185,130 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 | 65.9Requests queued69 ms TTFT | 66.1146 ms TTFT | 95.8185 ms TTFT | 185.1239 ms TTFT | 627.81,063 ms TTFT | Over capacity | Over capacity | Over capacity |
| 16K | 65.9101 ms TTFT | 72.7181 ms TTFT | 145.4213 ms TTFT | 354.5242 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity |
| 32K | 60.0122 ms TTFT | 87.5225 ms TTFT | 171.9269 ms TTFT | 269.7411 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity |
| 64K | 59.0169 ms TTFT | 67.2265 ms TTFT | 107.3405 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 128K | 54.4261 ms TTFT | 50.8467 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
| 251K | 39.4Requests queued445 ms TTFT | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity | Over capacity |
Requests queued: the server could not run all requests at once, so some waited in a queue. 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 | 5,218.0 | — | 1,576 ms | — | — | 1 | — | — |
| Prefill | 16K | 1 | Valid | 4,851.0 | — | 3,354 ms | — | — | 1 | — | — |
| Prefill | 32K | 1 | Valid | 4,234.0 | — | 7,644 ms | — | — | 1 | — | — |
| Prefill | 64K | 1 | Valid | 3,278.0 | — | 19,686 ms | — | — | 1 | — | — |
| Prefill | 128K | 1 | Valid | 2,250.0 | — | 57,274 ms | — | — | 1 | — | — |
| Prefill | 251K | 1 | Valid | 1,410.0 | — | 179,076 ms | — | — | 1 | — | — |
| Prefill | 256K | 1 | Valid | 1,391.0 | — | 185,130 ms | — | — | 1 | — | — |
| Sustained decode | 8K | 1 | Requests queued | 65.9 | 66.0 | 69 ms | 15.2 ms | 1.0 | 0 | 1,977 | 30.0 s |
| Sustained decode | 8K | 2 | Valid | 66.1 | 33.2 | 146 ms | 30.1 ms | 3.0 | 0 | 1,981 | 30.0 s |
| Sustained decode | 8K | 4 | Valid | 95.8 | 23.4 | 185 ms | 42.8 ms | 7.0 | 0 | 2,872 | 30.0 s |
| Sustained decode | 8K | 8 | Valid | 185.1 | 22.7 | 239 ms | 44.0 ms | 15.0 | 0 | 5,547 | 30.0 s |
| Sustained decode | 8K | 16 | Valid | 627.8 | 39.2 | 1,063 ms | 25.5 ms | 29.6 | 0 | 18,837 | 30.0 s |
| Sustained decode | 8K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 8K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 8K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 1 | Valid | 65.9 | 65.5 | 101 ms | 15.3 ms | 1.0 | 0 | 1,976 | 30.0 s |
| Sustained decode | 16K | 2 | Valid | 72.7 | 36.2 | 181 ms | 27.7 ms | 28.6 | 0 | 2,179 | 30.0 s |
| Sustained decode | 16K | 4 | Valid | 145.4 | 35.6 | 213 ms | 28.1 ms | 23.8 | 0 | 4,359 | 30.0 s |
| Sustained decode | 16K | 8 | Valid | 354.5 | 43.9 | 242 ms | 22.8 ms | 13.8 | 0 | 10,635 | 30.0 s |
| Sustained decode | 16K | 16 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 16K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 1 | Valid | 60.0 | 59.7 | 122 ms | 16.8 ms | 1.0 | 0 | 1,798 | 30.0 s |
| Sustained decode | 32K | 2 | Valid | 87.5 | 43.3 | 225 ms | 23.1 ms | 13.0 | 0 | 2,626 | 30.0 s |
| Sustained decode | 32K | 4 | Valid | 171.9 | 41.3 | 269 ms | 24.2 ms | 10.8 | 0 | 5,155 | 30.0 s |
| Sustained decode | 32K | 8 | Valid | 269.7 | 33.8 | 411 ms | 29.6 ms | 13.4 | 0 | 8,091 | 30.0 s |
| Sustained decode | 32K | 16 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 32K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 1 | Valid | 59.0 | 58.0 | 169 ms | 17.2 ms | 1.0 | 0 | 1,771 | 30.0 s |
| Sustained decode | 64K | 2 | Valid | 67.2 | 33.4 | 265 ms | 30.1 ms | 13.8 | 0 | 2,015 | 30.0 s |
| Sustained decode | 64K | 4 | Valid | 107.3 | 26.6 | 405 ms | 37.5 ms | 14.0 | 0 | 3,217 | 30.0 s |
| Sustained decode | 64K | 8 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 16 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 32 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 64 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 64K | 128 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 1 | Valid | 54.4 | 54.0 | 261 ms | 18.5 ms | 1.0 | 0 | 1,631 | 30.0 s |
| Sustained decode | 128K | 2 | Valid | 50.8 | 25.1 | 467 ms | 40.0 ms | 12.5 | 0 | 1,523 | 30.0 s |
| Sustained decode | 128K | 4 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 128K | 8 | Over capacity | — | — | — | — | — | — | — | — |
| 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 | Requests queued | 39.4 | 39.3 | 445 ms | 25.4 ms | 1.0 | 0 | 1,180 | 30.0 s |
| Sustained decode | 251K | 2 | Over capacity | — | — | — | — | — | — | — | — |
| Sustained decode | 251K | 4 | Over capacity | — | — | — | — | — | — | — | — |
| 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 | — | — | — | — | — | — | — | — |
Requests queued: the server could not run all requests at once, so some waited in a queue. Over capacity: not run because this many requests at this context would exceed the server's KV cache.
