Skip to content

how to benchmark vllm(prefill) + decoder(rilert)? #53

Closed

Description

@yiminghub2024

how to benchmark vllm(prefill) + decoder(rilert)?

if i use vllm bench serve command ,its always error

Image

Activity

  1. WSEmma commented on Jul 29, 2026

    @WSEmma
    Contributor

    A couple of things need to debug this:

    • More detailed vLLM logs from the prefill worker (behind :40047). The benchmark output truncates the error and the router's 502 masks the real 400 from the worker, so I need the worker's own log with the full, untruncated 400 message.

    • The full launch commands for both the prefill (vLLM) and decode (TileRT) servers, with all flags — especially --max-model-len / --max-seq-len / tilert_max_seq_len and --kv-transfer-config.

  2. yiminghub2024 commented on Jul 31, 2026

    @yiminghub2024
    Author

    vllm-prefill
    --served-model-name=glm5.1
    --tensor-parallel-size=8
    --enforce-eager
    --trust-remote-code
    --return-tokens-as-token-ids
    --gpu-memory-utilization=0.5
    --kv-cache-dtype=fp8_ds_mla
    --speculative-config '{"method": "mtp", "num_speculative_tokens": 1}'
    --kv-transfer-config '{ "kv_connector": "TileRTConnector", "kv_connector_module_path": "tilert.pd_vllm.prefill_connector", "kv_role": "kv_producer", "kv_connector_extra_config":{ "tilert_host":"[10.91.0.187]", "tilert_ctrl_port":5556, "tilert_model":"glm5", "tilert_max_seq_len":202752 } }'

    tilert-decoder
    --engine=tilert
    --model=glm5
    --with-mtp
    --max-seq-len=202752
    --kv-cache-dtype=fp8
    --ctrl-port=5556
    --http-port=5557

    tilert router:
    --vllm-url http://10.91.0.187:40046
    --decode 10.91.0.187:5556:5557

    log:

    glm5-ewem3_2026-07-31_23-24-30.txt
    glm5.1-prefill-upvqa_2026-07-31_23-24-28.txt
    glm5.1-cv5ee_2026-07-31_23-24-32.txt

    i know the reason. because rilert router now only support stream:false , error:"{"error":"streaming is supported on /v1/chat/completions"}"

    but vllm bench serve only support stream=true benchmark ,so i change the test tool to 'evalscope[perf]' to test ,it support stream:false test

    64K/1K*10

    evalscope perf
    --url http://10.91.0.187:40040/v1/completions
    --api openai
    --model glm5.1
    --dataset random
    --tokenizer-path /var/lib/gpustack/cache/model_scope/ZhipuAI/GLM-5.1-FP8
    --min-prompt-length 64000 --max-prompt-length 64000
    --max-tokens 3000
    --number 10 --parallel 1
    --no-stream

    Image Image Image

    same with https://vllm.ai/blog/2026-07-14-vllm-tilert-pd

    Image

    but why not and when tilert router can support stream request ? @WSEmma

  3. WSEmma commented on Aug 6, 2026

    @WSEmma
    Contributor

    Hi,
    we support streaming requests now — it's available in the latest release (v0.1.5.post2).
    Please give it a try. Thanks for your feedback!

  4. yiminghub2024 commented on Aug 6, 2026

    @yiminghub2024
    Author
  5. yiminghub2024 commented on Aug 6, 2026

    @yiminghub2024
    Author
    Image vllm bench serve \ --backend openai-chat \ --base-url http://10.91.0.187:23333 \ --model /var/lib/gpustack/cache/model_scope/ZhipuAI/GLM-5.1-FP8 \ --served-model-name glm5.1 \ --dataset-name random \ --random-input-len 64000 \ --random-output-len 3000 \ --random-range-ratio 0.0 \ --num-prompts 10 \ --request-rate inf \ --max-concurrency 1 yes, its works fine ,i will start a pr to note how to flow benchmark tilert @WSEmma
  6. yiminghub2024 commented on Aug 6, 2026

    @yiminghub2024
    Author

    #58 @WSEmma this is pr for benchmark for tilert ,please take a look thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions