<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>本地部署 on 超越网</title><link>https://www.chaoyuewang.cn/tags/%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2/</link><description>Recent content in 本地部署 on 超越网</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Thu, 28 May 2026 10:10:00 +0800</lastBuildDate><atom:link href="https://www.chaoyuewang.cn/tags/%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2/index.xml" rel="self" type="application/rss+xml"/><item><title>本地LLM部署对比：Ollama vs vLLM 实战评测</title><link>https://www.chaoyuewang.cn/posts/infra/local-llm-deployment-comparison/</link><pubDate>Thu, 28 May 2026 10:10:00 +0800</pubDate><guid>https://www.chaoyuewang.cn/posts/infra/local-llm-deployment-comparison/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;2026年，本地LLM部署已经成为AI基础设施的标配。我在同一台服务器上同时部署了Ollama和vLLM，运行了为期两周的对比测试。&lt;/p&gt;
&lt;p&gt;这篇文章记录完整的评测过程，包括性能、易用性、资源占用和适用场景。&lt;/p&gt;
&lt;h2 id="一测试环境"&gt;一、测试环境&lt;/h2&gt;
&lt;h3 id="11-硬件配置"&gt;1.1 硬件配置&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;组件&lt;/th&gt;
&lt;th&gt;规格&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CPU&lt;/td&gt;
&lt;td&gt;AMD EPYC 7763 (64核)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPU&lt;/td&gt;
&lt;td&gt;NVIDIA A100 80GB × 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;内存&lt;/td&gt;
&lt;td&gt;512GB DDR4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;存储&lt;/td&gt;
&lt;td&gt;2TB NVMe SSD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;系统&lt;/td&gt;
&lt;td&gt;Ubuntu 24.04 LTS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="12-测试模型"&gt;1.2 测试模型&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模型&lt;/th&gt;
&lt;th&gt;参数量&lt;/th&gt;
&lt;th&gt;量化版本&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Llama 3.1&lt;/td&gt;
&lt;td&gt;8B&lt;/td&gt;
&lt;td&gt;Q4_K_M&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Llama 3.1&lt;/td&gt;
&lt;td&gt;70B&lt;/td&gt;
&lt;td&gt;Q4_K_M&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen 2.5&lt;/td&gt;
&lt;td&gt;72B&lt;/td&gt;
&lt;td&gt;Q4_K_M&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="13-测试工具"&gt;1.3 测试工具&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;llm-bench&lt;/strong&gt;: 自定义基准测试脚本&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;prometheus + grafana&lt;/strong&gt;: 实时监控&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;locust&lt;/strong&gt;: 并发压力测试&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="二性能对比"&gt;二、性能对比&lt;/h2&gt;
&lt;h3 id="21-单请求延迟"&gt;2.1 单请求延迟&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模型&lt;/th&gt;
&lt;th&gt;Ollama (TTFT)&lt;/th&gt;
&lt;th&gt;vLLM (TTFT)&lt;/th&gt;
&lt;th&gt;优势&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Llama 3.1 8B&lt;/td&gt;
&lt;td&gt;1.2s&lt;/td&gt;
&lt;td&gt;0.8s&lt;/td&gt;
&lt;td&gt;vLLM ↓33%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Llama 3.1 70B&lt;/td&gt;
&lt;td&gt;8.5s&lt;/td&gt;
&lt;td&gt;5.2s&lt;/td&gt;
&lt;td&gt;vLLM ↓39%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen 2.5 72B&lt;/td&gt;
&lt;td&gt;9.1s&lt;/td&gt;
&lt;td&gt;5.8s&lt;/td&gt;
&lt;td&gt;vLLM ↓36%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;TTFT&lt;/strong&gt; = Time To First Token（首字延迟）&lt;/p&gt;</description><content:encoded><![CDATA[<h2 id="前言">前言</h2>
<p>2026年，本地LLM部署已经成为AI基础设施的标配。我在同一台服务器上同时部署了Ollama和vLLM，运行了为期两周的对比测试。</p>
<p>这篇文章记录完整的评测过程，包括性能、易用性、资源占用和适用场景。</p>
<h2 id="一测试环境">一、测试环境</h2>
<h3 id="11-硬件配置">1.1 硬件配置</h3>
<table>
	<thead>
			<tr>
					<th>组件</th>
					<th>规格</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>CPU</td>
					<td>AMD EPYC 7763 (64核)</td>
			</tr>
			<tr>
					<td>GPU</td>
					<td>NVIDIA A100 80GB × 2</td>
			</tr>
			<tr>
					<td>内存</td>
					<td>512GB DDR4</td>
			</tr>
			<tr>
					<td>存储</td>
					<td>2TB NVMe SSD</td>
			</tr>
			<tr>
					<td>系统</td>
					<td>Ubuntu 24.04 LTS</td>
			</tr>
	</tbody>
</table>
<h3 id="12-测试模型">1.2 测试模型</h3>
<table>
	<thead>
			<tr>
					<th>模型</th>
					<th>参数量</th>
					<th>量化版本</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Llama 3.1</td>
					<td>8B</td>
					<td>Q4_K_M</td>
			</tr>
			<tr>
					<td>Llama 3.1</td>
					<td>70B</td>
					<td>Q4_K_M</td>
			</tr>
			<tr>
					<td>Qwen 2.5</td>
					<td>72B</td>
					<td>Q4_K_M</td>
			</tr>
	</tbody>
</table>
<h3 id="13-测试工具">1.3 测试工具</h3>
<ul>
<li><strong>llm-bench</strong>: 自定义基准测试脚本</li>
<li><strong>prometheus + grafana</strong>: 实时监控</li>
<li><strong>locust</strong>: 并发压力测试</li>
</ul>
<h2 id="二性能对比">二、性能对比</h2>
<h3 id="21-单请求延迟">2.1 单请求延迟</h3>
<table>
	<thead>
			<tr>
					<th>模型</th>
					<th>Ollama (TTFT)</th>
					<th>vLLM (TTFT)</th>
					<th>优势</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Llama 3.1 8B</td>
					<td>1.2s</td>
					<td>0.8s</td>
					<td>vLLM ↓33%</td>
			</tr>
			<tr>
					<td>Llama 3.1 70B</td>
					<td>8.5s</td>
					<td>5.2s</td>
					<td>vLLM ↓39%</td>
			</tr>
			<tr>
					<td>Qwen 2.5 72B</td>
					<td>9.1s</td>
					<td>5.8s</td>
					<td>vLLM ↓36%</td>
			</tr>
	</tbody>
</table>
<p><strong>TTFT</strong> = Time To First Token（首字延迟）</p>
<h3 id="22-吞吐量tokenss">2.2 吞吐量（tokens/s）</h3>
<table>
	<thead>
			<tr>
					<th>模型</th>
					<th>Ollama</th>
					<th>vLLM</th>
					<th>优势</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Llama 3.1 8B</td>
					<td>45</td>
					<td>68</td>
					<td>vLLM ↑51%</td>
			</tr>
			<tr>
					<td>Llama 3.1 70B</td>
					<td>12</td>
					<td>19</td>
					<td>vLLM ↑58%</td>
			</tr>
			<tr>
					<td>Qwen 2.5 72B</td>
					<td>11</td>
					<td>17</td>
					<td>vLLM ↑55%</td>
			</tr>
	</tbody>
</table>
<h3 id="23-并发能力">2.3 并发能力</h3>
<table>
	<thead>
			<tr>
					<th>并发数</th>
					<th>Ollama 成功率</th>
					<th>vLLM 成功率</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>1</td>
					<td>100%</td>
					<td>100%</td>
			</tr>
			<tr>
					<td>5</td>
					<td>98%</td>
					<td>100%</td>
			</tr>
			<tr>
					<td>10</td>
					<td>92%</td>
					<td>100%</td>
			</tr>
			<tr>
					<td>20</td>
					<td>75%</td>
					<td>98%</td>
			</tr>
			<tr>
					<td>50</td>
					<td>45%</td>
					<td>95%</td>
			</tr>
	</tbody>
</table>
<p><strong>结论</strong>：vLLM 在高并发场景下优势明显，得益于其 PagedAttention 机制。</p>
<h2 id="三资源占用">三、资源占用</h2>
<h3 id="31-内存占用">3.1 内存占用</h3>
<table>
	<thead>
			<tr>
					<th>模型</th>
					<th>Ollama</th>
					<th>vLLM</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Llama 3.1 8B</td>
					<td>6.2GB</td>
					<td>5.8GB</td>
			</tr>
			<tr>
					<td>Llama 3.1 70B</td>
					<td>42GB</td>
					<td>38GB</td>
			</tr>
			<tr>
					<td>Qwen 2.5 72B</td>
					<td>44GB</td>
					<td>40GB</td>
			</tr>
	</tbody>
</table>
<p>vLLM 的 KV Cache 优化使其内存占用更低。</p>
<h3 id="32-gpu-利用率">3.2 GPU 利用率</h3>
<pre tabindex="0"><code>并发10时 GPU 利用率对比：
Ollama: ████████░░ 78%
vLLM:   ██████████ 95%
</code></pre><h2 id="四易用性对比">四、易用性对比</h2>
<h3 id="41-安装部署">4.1 安装部署</h3>
<table>
	<thead>
			<tr>
					<th>步骤</th>
					<th>Ollama</th>
					<th>vLLM</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>安装</td>
					<td><code>curl -fsSL https://ollama.com/install.sh | sh</code></td>
					<td><code>pip install vllm</code></td>
			</tr>
			<tr>
					<td>模型下载</td>
					<td><code>ollama pull llama3.1</code></td>
					<td><code>python -m vllm.entrypoints.api_server --model meta-llama/Llama-3.1-8B</code></td>
			</tr>
			<tr>
					<td>API调用</td>
					<td><code>curl http://localhost:11434/api/generate</code></td>
					<td><code>curl http://localhost:8000/v1/completions</code></td>
			</tr>
			<tr>
					<td>配置复杂度</td>
					<td>⭐</td>
					<td>⭐⭐⭐</td>
			</tr>
	</tbody>
</table>
<h3 id="42-功能特性">4.2 功能特性</h3>
<table>
	<thead>
			<tr>
					<th>功能</th>
					<th>Ollama</th>
					<th>vLLM</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>多模型管理</td>
					<td>✅ 内置</td>
					<td>⚠️ 需手动</td>
			</tr>
			<tr>
					<td>Docker支持</td>
					<td>✅ 官方镜像</td>
					<td>✅ 官方镜像</td>
			</tr>
			<tr>
					<td>量化支持</td>
					<td>✅ 自动</td>
					<td>✅ 需指定</td>
			</tr>
			<tr>
					<td>多GPU支持</td>
					<td>⚠️ 有限</td>
					<td>✅ 完整</td>
			</tr>
			<tr>
					<td>连续批处理</td>
					<td>❌</td>
					<td>✅</td>
			</tr>
			<tr>
					<td>PagedAttention</td>
					<td>❌</td>
					<td>✅</td>
			</tr>
			<tr>
					<td>Speculative Decoding</td>
					<td>❌</td>
					<td>✅</td>
			</tr>
	</tbody>
</table>
<h2 id="五适用场景推荐">五、适用场景推荐</h2>
<h3 id="51-选择-ollama">5.1 选择 Ollama</h3>
<ul>
<li><strong>个人开发/学习</strong>：简单易用，快速上手</li>
<li><strong>单用户场景</strong>：并发需求低</li>
<li><strong>快速原型</strong>：需要快速验证想法</li>
<li><strong>资源受限</strong>：内存/显存有限</li>
</ul>
<h3 id="52-选择-vllm">5.2 选择 vLLM</h3>
<ul>
<li><strong>生产环境</strong>：高并发、高可用需求</li>
<li><strong>多用户服务</strong>：需要服务多个客户端</li>
<li><strong>大模型部署</strong>：70B+ 模型优化更好</li>
<li><strong>性能敏感</strong>：对延迟和吞吐量有要求</li>
</ul>
<h2 id="六混合部署方案">六、混合部署方案</h2>
<p>我的生产环境采用混合部署：</p>
<pre tabindex="0"><code>开发环境 → Ollama (快速迭代)
生产环境 → vLLM (高并发服务)
</code></pre><p>通过统一API网关进行路由：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">api_gateway</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">routes</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">path</span><span class="p">:</span><span class="w"> </span><span class="l">/dev/*</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span><span class="nt">backend</span><span class="p">:</span><span class="w"> </span><span class="l">ollama</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span>- <span class="nt">path</span><span class="p">:</span><span class="w"> </span><span class="l">/prod/*</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">      </span><span class="nt">backend</span><span class="p">:</span><span class="w"> </span><span class="l">vllm</span><span class="w">
</span></span></span></code></pre></div><h2 id="七总结">七、总结</h2>
<table>
	<thead>
			<tr>
					<th>维度</th>
					<th>Ollama</th>
					<th>vLLM</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>易用性</td>
					<td>⭐⭐⭐⭐⭐</td>
					<td>⭐⭐⭐</td>
			</tr>
			<tr>
					<td>性能</td>
					<td>⭐⭐⭐</td>
					<td>⭐⭐⭐⭐⭐</td>
			</tr>
			<tr>
					<td>并发能力</td>
					<td>⭐⭐</td>
					<td>⭐⭐⭐⭐⭐</td>
			</tr>
			<tr>
					<td>资源效率</td>
					<td>⭐⭐⭐</td>
					<td>⭐⭐⭐⭐</td>
			</tr>
			<tr>
					<td>功能丰富度</td>
					<td>⭐⭐⭐</td>
					<td>⭐⭐⭐⭐⭐</td>
			</tr>
	</tbody>
</table>
<p><strong>最终建议</strong>：</p>
<ul>
<li>初学者/个人项目：从 Ollama 开始</li>
<li>生产环境：直接使用 vLLM</li>
<li>预算充足：两者都部署，按场景路由</li>
</ul>
<hr>
<blockquote>
<p><strong>更新日志</strong>：本文基于2026年5月测试环境编写，模型和工具版本可能随时间变化，请以实际测试为准。</p>
</blockquote>
]]></content:encoded></item></channel></rss>