怎么计算vllm启动大模型的并发数

🧠 一、影响 vLLM 并发请求数的关键因素

🔍 二、实时查看当前并发请求数 / 队列情况

vLLM 本身有监控接口与日志输出,可以直接观察:

1️⃣ 查看日志输出

在你运行命令的终端或日志文件(例如你用的)

bash 复制代码
nohup python3 -m vllm.entrypoints.openai.api_server ... > vllm_server.log 2>&1 &

然后查看日志:

bash 复制代码
tail -f vllm_server.log

你会看到类似:

bash 复制代码
INFO [Engine] num_requests_running=12 num_waiting=5 max_num_seqs=128

解释:

• num_requests_running: 当前正在执行的请求数量

• num_waiting: 正在排队等待的请求数量

• max_num_seqs: 最大可同时运行请求数(来自你的配置)

2️⃣ 查看 HTTP 监控接口(推荐)

vLLM 启动后自带一个监控 API:

bash 复制代码
GET http://localhost:8000/metrics

执行命令查看:

bash 复制代码
curl http://localhost:8000/metrics | grep vllm

输出会包含 Prometheus 格式的监控指标,比如:

bash 复制代码
vllm_running_requests 32
vllm_waiting_requests 8
vllm_num_finished_requests_total 1052
vllm_gpu_memory_usage_bytes 73400320000

这几个指标直接告诉你当前:

• 有多少请求在运行

• 有多少在排队

• GPU 显存占用情况

你可以把这些 metrics 挂在 Prometheus + Grafana 做实时监控。

3️⃣ 代码中查看(OpenAI 兼容接口)

如果你在用 OpenAI 接口调用:

bash 复制代码
openai.api_key = "none"
openai.base_url = "http://localhost:8000/v1"

vLLM 会在负载过高时返回:

bash 复制代码
{
  "error": {
    "message": "Server busy, please retry later",
    "type": "server_overloaded"
  }
}

这表明当前已经达到 max-num-seqs 上限。

⚙️ 三、手动配置或限制最大并发请求数

1️⃣ 设置最大序列数

在启动命令中添加参数:

bash 复制代码
--max-num-seqs 128

👉 表示最多同时处理 128 个请求(包括生成和等待的 token 序列)。

2️⃣ 设置显存使用率上限

bash 复制代码
--gpu-memory-utilization 0.9

👉 vLLM 会在达到 90% 显存时拒绝新请求,自动排队或返回 "busy" 错误。

3️⃣ Nginx 层限流(上层防护)

在你的反向代理层可以加上:

bash 复制代码
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 20;
limit_req zone=req_limit_per_ip burst=5 nodelay;

👉 限制每个客户端最多并发 20 个请求,超过的直接拒绝。

📈 四、估算最大可并发请求数

经验公式(粗略):

N m a x ≈ G P U _ 显存 ( G B ) × 利用率 上下文长度 × 0.001 N_{max} \approx \frac{GPU\_显存(GB) × 利用率}{上下文长度 × 0.001} Nmax≈上下文长度×0.001GPU_显存(GB)×利用率

例如:

参数 值

显存 80 GB

利用率 0.9

每请求上下文 2000 tokens

单 token KV cache ≈ 1 KB

⇒ 每请求占显存 ≈ 2MB

计算:
N m a x ≈ 80 × 0.9 × 1024 2 ≈ 36 , 864 ≈ 36 个请求(单卡) N_{max} ≈ \frac{80 × 0.9 × 1024}{2} ≈ 36,864 ≈ 36 个请求(单卡) Nmax≈280×0.9×1024≈36,864≈36个请求(单卡)

多卡(TP=4)约可达 120~150 个并发请求。

✅ 总结:查看并发能力的几种方式

相关推荐
AnchorYYC4 小时前
从日志与源码白盒定位 vLLM 接口的通用方法(以 /v1/score 为例)
vllm
铁蛋AI编程实战8 小时前
DeepSeek-OCR2:开源 OCR 新王者完整部署教程(vLLM+Transformers 双接口 + 动态分辨率 + 文档批量处理)
开源·ocr·vllm
HyperAI超神经1 天前
覆盖天体物理/地球科学/流变学/声学等19种场景,Polymathic AI构建1.3B模型实现精确连续介质仿真
人工智能·深度学习·学习·算法·机器学习·ai编程·vllm
GPUStack2 天前
vLLM、SGLang 融资背后,AI 推理正在走向系统化与治理
大模型·llm·vllm·模型推理·sglang·高性能推理
人工智能训练3 天前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
a41324474 天前
ubuntu 25 安装vllm
linux·服务器·ubuntu·vllm
德尔塔大雨淋4 天前
VLLM 中的module PASS 和FUN PASS
linux·服务器·vllm
缘友一世5 天前
大模型分布式推理:Ray 与 vLLM/Transformers 的协同架构深度解析
分布式·架构·transformer·ray·vllm
taoqick6 天前
vLLM中的repetition_penalty、frequency_penalty和presence_penalty
vllm
忆~遂愿6 天前
cpolar拯救被困在局域网中的DS File,让NAS文件访问自由到离谱
人工智能·vllm