# 如何提升在单机多卡部署时的吞吐量

**URL:** <https://discuss.vllm.ai/t/topic/1996>\
**Category:** Ray\
**Created:** [November 24, 2025, 5:10am UTC](https://discuss.vllm.ai/t/topic/1996 "2025-11-24T05:10:27Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![sxcnmslll](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.vllm.ai/sxcnmslll/32/946_2.png) [@sxcnmslll](https://discuss.vllm.ai/u/sxcnmslll)\
**Post date:** [November 24, 2025, 5:10am UTC](https://discuss.vllm.ai/t/topic/1996/1 "2025-11-24T05:10:27Z")

</div>

如何使用vllm和ray在单机八卡H20(显存141G)上部署Qwen3-VL 8B模型，使得吞吐量尽可能的大？

---

<div class="post-metadata">

**Author:** ![RunLLM](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.vllm.ai/runllm/32/233_2.png) [@RunLLM](https://discuss.vllm.ai/u/RunLLM)\
**Post date:** [November 24, 2025, 5:10am UTC](https://discuss.vllm.ai/t/topic/1996/2 "2025-11-24T05:10:46Z")

</div>

在单机8卡H20（141G显存）上部署Qwen3-VL-8B模型，推荐使用张量并行（tensor parallel）将模型分布到8张GPU上，并通过调整max-model-len参数来提升最大可支持的上下文长度。具体命令如下：

```bash
vllm serve Qwen/Qwen3-VL-8B-Instruct \
  --tensor-parallel-size 8 \
  --max-model-len 128000 \
  --async-scheduling

```

如需进一步提升KV缓存利用率，可加上`--gpu-memory-utilization 0.95`。如只做文本推理，可通过`--limit-mm-per-prompt.video 0 --limit-mm-per-prompt.image 0`关闭多模态，释放更多显存用于KVCache。详细配置和硬件适配建议见[Qwen3-VL官方vLLM部署指南](https://docs.vllm.ai/projects/recipes/en/latest/Qwen/Qwen3-VL.html)。

需要更详细的参数说明或多节点/多实例优化建议吗？

Sources:

- [Qwen3-VL官方vLLM部署指南](https://docs.vllm.ai/projects/recipes/en/latest/Qwen/Qwen3-VL.html)

Hint: Mention @RunLLM in the post for followups.

---

<div class="post-metadata">

**Author:** ![sxcnmslll](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.vllm.ai/sxcnmslll/32/946_2.png) [@sxcnmslll](https://discuss.vllm.ai/u/sxcnmslll)\
**Post date:** [November 24, 2025, 5:44am UTC](https://discuss.vllm.ai/t/topic/1996/4 "2025-11-24T05:44:44Z")

</div>

我的模型大小只有8B，远小于单卡的显存（141G）。选择数据并行会不会更好一些？ @RunLLM

---

<div class="post-metadata">

**Author:** ![RunLLM](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.vllm.ai/runllm/32/233_2.png) [@RunLLM](https://discuss.vllm.ai/u/RunLLM)\
**Post date:** [November 24, 2025, 5:45am UTC](https://discuss.vllm.ai/t/topic/1996/5 "2025-11-24T05:45:00Z")

</div>

是的，对于8B这样远小于单卡显存（141G）的模型，采用数据并行（data parallel）通常比张量并行（tensor parallel）更高效。数据并行会在每张卡上各自加载一份完整模型，分别处理不同请求，能极大提升吞吐量，且通信开销更低，适合多用户高并发场景。张量并行主要用于模型太大单卡放不下的情况。

如需配置数据并行，可用`--data-parallel-size 8`，每卡独立服务，配合负载均衡即可。如需详细命令或多实例部署建议，请告知。

Sources:

- [vLLM并行策略说明](https://docs.vllm.ai/en/latest/performance/optimization.html#performance-tuning-with-chunked-prefill)
- [vLLM官方并行与扩展文档](https://docs.vllm.ai/en/latest/serving/parallelism_scaling/)

Hint: Mention @RunLLM in the post for followups.

---

<div class="post-metadata">

**Author:** ![sxcnmslll](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.vllm.ai/sxcnmslll/32/946_2.png) [@sxcnmslll](https://discuss.vllm.ai/u/sxcnmslll)\
**Post date:** [November 24, 2025, 5:45am UTC](https://discuss.vllm.ai/t/topic/1996/6 "2025-11-24T05:45:55Z")

</div>

请给出使用ray+vllm部署的详细指令 @RunLLM

---

<div class="post-metadata">

**Author:** ![RunLLM](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.vllm.ai/runllm/32/233_2.png) [@RunLLM](https://discuss.vllm.ai/u/RunLLM)\
**Post date:** [November 24, 2025, 5:46am UTC](https://discuss.vllm.ai/t/topic/1996/7 "2025-11-24T05:46:16Z")

</div>

在单机8卡上用Ray+vLLM部署数据并行，推荐如下步骤（假设已安装好Ray和vLLM）：

1. 启动Ray本地集群：

```bash
ray start --head

```

1. 启动vLLM服务，指定数据并行为8：

```bash
vllm serve Qwen/Qwen3-VL-8B-Instruct \
  --data-parallel-size 8 \
  --distributed-executor-backend ray

```

这样每卡独立服务，Ray负责资源调度。详细参数和多节点扩展见[官方分布式部署文档](https://docs.vllm.ai/en/latest/serving/distributed_serving.html#running-vllm-on-a-single-node)。

需要多节点或Kubernetes部署命令吗？

Sources:

- [vLLM分布式部署文档](https://docs.vllm.ai/en/latest/serving/distributed_serving.html#running-vllm-on-a-single-node)

Hint: Mention @RunLLM in the post for followups.

---

<div class="post-metadata">

**Author:** ![RunLLM](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.vllm.ai/runllm/32/233_2.png) [@RunLLM](https://discuss.vllm.ai/u/RunLLM)\
**Post date:** [November 24, 2025, 6:03am UTC](https://discuss.vllm.ai/t/topic/1996/9 "2025-11-24T06:03:34Z")

</div>

你的命令整体配置合理，但有几点可优化建议：

1. 建议将`--max-num-seqs`和`--block-size`根据实际吞吐需求和显存占用适当调整，`--max-num-seqs`可尝试更大（如256），`--block-size`可尝试32以提升KVCache效率。2. `--enable-chunked-prefill`已开启，若主要追求吞吐量，可适当增大`--max-num-batched-tokens`（如8192或更高）；3. `--gpu-memory-utilization`已设为0.95，已接近极限；4. `--enable-prefix-caching`适合高重复前缀场景，否则可关闭节省内存。

如需进一步压榨性能，可关注`--max-model-len`、`--max-num-batched-tokens`等参数，具体调优见[官方性能优化建议](https://docs.vllm.ai/en/latest/performance/optimization.html#performance-tuning-with-chunked-prefill)。

需要详细参数解释或具体场景下的调优建议吗？

Sources:

- [性能优化建议](https://docs.vllm.ai/en/latest/performance/optimization.html#performance-tuning-with-chunked-prefill)
- [serve参数说明](https://docs.vllm.ai/en/latest/serving/serve_args.html#cli-arguments)

Hint: Mention @RunLLM in the post for followups.

---

<div class="post-metadata">

**Author:** ![sxcnmslll](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.vllm.ai/sxcnmslll/32/946_2.png) [@sxcnmslll](https://discuss.vllm.ai/u/sxcnmslll)\
**Post date:** [November 24, 2025, 6:04am UTC](https://discuss.vllm.ai/t/topic/1996/10 "2025-11-24T06:04:28Z")

</div>

@RunLLM  
我下面这条指令，有没有什么可以优化的地方？

```auto
    vllm serve /msswift_tmp/output/v3-20251119-214117/checkpoint-60 \
      --data-parallel-size 8 \
      --gpu-memory-utilization 0.95 \
      --port 9014 \
      --enable-prefix-caching \
      --enable-chunked-prefill \
      --distributed-executor-backend ray \
      --block-size 16 \
      --dtype bfloat16 \
      --kv-cache-dtype auto \
      --max-num-seqs 128 \
      --load-format safetensors \
      --served-model-name "Qwen3-VL-8B-Instruct"

```

---

<div class="post-metadata">

**Author:** ![RunLLM](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.vllm.ai/runllm/32/233_2.png) [@RunLLM](https://discuss.vllm.ai/u/RunLLM)\
**Post date:** [November 24, 2025, 6:05am UTC](https://discuss.vllm.ai/t/topic/1996/11 "2025-11-24T06:05:02Z")

</div>

你的命令已较为合理，但可进一步优化：

1. 可尝试增大`--max-num-seqs`（如256）和`--block-size`（如32），以提升吞吐量和KVCache利用率；2. 若主要追求吞吐量，可加上`--max-num-batched-tokens 8192`或更高；3. `--enable-prefix-caching`适合高重复前缀场景，否则可关闭节省内存。其余参数已接近最佳配置。

详细调优建议和参数说明可参考[官方性能优化文档](https://docs.vllm.ai/en/latest/performance/optimization.html#performance-tuning-with-chunked-prefill)。

需要更详细的参数解释或针对具体场景的优化建议吗？

Sources:

- [https://github.com/vllm-project/vllm/blob/main/docs/configuration/optimization.md](https://github.com/vllm-project/vllm/blob/main/docs/configuration/optimization.md)
- [https://github.com/vllm-project/vllm/issues/13508](https://github.com/vllm-project/vllm/issues/13508)

Hint: Mention @RunLLM in the post for followups.

---

<div class="post-metadata">

**Author:** ![sxcnmslll](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.vllm.ai/sxcnmslll/32/946_2.png) [@sxcnmslll](https://discuss.vllm.ai/u/sxcnmslll)\
**Post date:** [November 24, 2025, 7:22am UTC](https://discuss.vllm.ai/t/topic/1996/12 "2025-11-24T07:22:32Z")

</div>

@RunLLM  
开启flashinfer对于推理的提升有多大？

如何配置一个支持flashinfer的vllm conda环境？请给出详细指令

---

<div class="post-metadata">

**Author:** ![RunLLM](https://yyz2.discourse-cdn.com/flex036/user_avatar/discuss.vllm.ai/runllm/32/233_2.png) [@RunLLM](https://discuss.vllm.ai/u/RunLLM)\
**Post date:** [November 24, 2025, 7:23am UTC](https://discuss.vllm.ai/t/topic/1996/13 "2025-11-24T07:23:02Z")

</div>

开启FlashInfer通常能显著提升推理吞吐量和延迟，尤其在大模型和高并发场景下，性能提升可达数倍，但具体增益依赖模型结构和硬件环境。  
配置支持FlashInfer的vLLM conda环境步骤如下：

```bash
# 1. 创建conda环境
conda create -n vllm python=3.10 -y
conda activate vllm

# 2. 安装PyTorch（以CUDA 12.1为例，按需选择版本）
pip install torch==2.2.1 --index-url https://download.pytorch.org/whl/cu121

# 3. 安装vLLM
pip install vllm

# 4. 安装FlashInfer
pip install flashinfer-python

# 5. 启动vLLM并指定FlashInfer为Attention后端
export VLLM_ATTENTION_BACKEND=FLASHINFER
vllm serve <your_model_path> ...

```

详细参数和注意事项见[官方FlashInfer配置文档](https://docs.vllm.ai/en/latest/getting_started/quickstart/#on-attention-backends)。

需要进一步了解FlashInfer的性能数据或多卡环境配置吗？

Sources:

- [https://docs.vllm.ai/en/latest/getting\_started/quickstart/#\_\_span-13-5](https://docs.vllm.ai/en/latest/getting_started/quickstart/#__span-13-5)
- [https://github.com/vllm-project/vllm/issues/4361](https://github.com/vllm-project/vllm/issues/4361)

Hint: Mention @RunLLM in the post for followups.
