OpenClaw省钱计划2:多卡服务器上的Ollama与vLLM部署实测(Qwen3.5)
书接上回,主包终于逮到机会在一台八卡服务器上继续推进龙虾养成计划。这回显存管够,足以塞下一个完整的 Qwen3.5-27B。趁热打铁,主包还准备对较火的Ollama 和 vLLM这两个推理部署框架实测进行实战测试,看看谁更能打。
服务器配置:
CPU:Intel® Xeon® Gold 6242R
GPU:8卡2080Ti 11GB
系统:Ubuntu 22.04 LTS
1)框架安装
1.1 安装 Ollama
使用官网脚本一键安装:
curl -fsSL https://ollama.com/install.sh | sh
1.2 安装 vLLM
官方推荐用 uv 管理环境(示例 Python 3.12):
uv venv --python 3.12 --seed --managed-python
source .venv/bin/activate
uv pip install vllm --torch-backend=auto
2)模型下载
2.1 通过 Ollama 下载 GGUF 模型(用于 Ollama)
Ollama 可直接拉取对应 GGUF 格式模型:
ollama pull qwen3.5:27b
2.2 从魔塔下载完整模型(用于 vLLM)
魔塔社区可直接下载千问 3.5-27B 完整模型(Qwen3.5-27B)。
下载到当前目录下的 ./models 文件夹内:
modelscope download --model Qwen/Qwen3.5-27B --local_dir ./models/Qwen/Qwen3.5-27B
3)运行服务
3.1 启用 Ollama 服务(脚本方式)
Ollama 安装后默认注册为系统服务并自启动。为了便于开发调试,先关闭 systemd 服务:
sudo systemctl stop ollama
sudo systemctl disable ollama
使用 .sh 脚本启动 Ollama(包含常用环境变量配置):
#!/bin/bash
# Ollama 完整环境变量配置脚本
# 使用方法: source ollama-env.sh && ollama serve
# 或: chmod +x ollama-env.sh && ./ollama-env.sh
# 停止当前的 ollama 进程
pkill ollama
# 指定使用哪张 GPU
export CUDA_VISIBLE_DEVICES="0,1,2,3,4,5,6,7"
# 多 GPU 时强制均匀分布
# export OLLAMA_SCHED_SPREAD=1
# 模型保存时长
export OLLAMA_KEEP_ALIVE=-1
# 单个模型的最大并行请求数
export OLLAMA_NUM_PARALLEL=2
# 同时最大模型加载数
export OLLAMA_MAX_LOADED_MODELS=2
echo ""
echo "=========================================="
echo "启动命令: ollama serve"
echo "=========================================="
# 自动启动服务
read -p "是否立即启动 Ollama 服务? (y/n): " confirm
if [[ $confirm == "y" ]]; then
ollama serve
fi
保存后执行:
source ./ollama-env.sh
启动后可直接测试:
- 命令行:
ollama run qwen3.5:27b - 或用 API 调用测试
3.2 启动 vLLM 服务
使用 vllm serve 启动(示例参数如下):
vllm serve ./models/Qwen3.5-27B \
--gpu-memory-utilization 0.85 \
--tensor-parallel-size 8 \
--max-model-len 8192 \
--dtype half \
--enforce-eager \
--max-num-seqs 48
看到启动日志并显示监听端口等信息,即表示服务启动成功。
看到“龙虾养成计划”推进到 8 卡实测阶段,主包这波硬核操作确实给力!
针对你提供的测试数据和描述,我进行了风格统一化的润色与调整。保持了你前面“硬核技术+风趣表达”的博文基调,同时对 vLLM 的并发表现做了更具技术深度的补充描述。
4)性能实测与对比
为了贴合 OpenClaw 的实际生产场景,本次测试统一采用 API 调用 方式压测。
- Ollama 侧:使用官方自动量化的 GGUF 版本。
- vLLM 侧:直接跑 Qwen 官方的 FP16 全精度版本。
4.1 Ollama 实测
在 8 卡 2080 Ti 这种多路低显存架构下,Ollama 的调度逻辑显现出了明显的局限。
- 并发瓶颈:尽管配置了
OLLAMA_NUM_PARALLEL,但在实测中,Ollama 无法在当前硬件环境下触发多用户并行处理。其 serve 进程在自检阶段判定环境不满足并行条件,导致请求进入线性排队。 - 推理优势:值得注意的是,在单用户访问时,Ollama 凭借高度优化的 GGUF 内核,其推理速度优于 vLLM。对于低频次、长回复的单人场景,其响应体感更为轻快。
4.2 vLLM 实测
vLLM 的并发表现则相当优秀,得益于 PagedAttention 技术对显存碎片的极致利用,它在 8 卡并行环境下展现出了极佳的线性扩展性。
测试数据汇总(TPS, Tokens Per Second):
| 并发数 | vLLM (FP16) TPS | Ollama (GGUF) TPS |
|---|---|---|
| 1 | 12.16 | 20.61 |
| 2 | 22.12 | 无法并发 |
| 8 | 83.51 | - |
| 16 | 161.57 | - |
| 24 | 244.98 | - |
| 32 | 316.22 | - |
| 48 | 282.00 | - |
4.3 结果分析
- 线性增长:在并发数 1-32 之间,vLLM 的总吞吐量几乎呈线性增长(TPS ≈ \approx ≈ 单用户 TPS × \times × 并发数)。这意味着 8 张 2080 Ti 被充分榨干,算力分配非常均匀。
- 性能拐点:当并发数推到 48 时,由于 KV Cache 耗尽 触发了频繁的请求排队或 Swap 机制,总 TPS 开始掉头向下。(在KV Cache 未完全耗尽前,观察到过500+的TPS峰值)
5)总结与展望
后续先试验当前生成速度是否能够满足OpenClaw使用,同时进一步探索提升模型推理速度的方法,包括但不限于尝试进一步对完整模型进行量化、更换服务器等。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)