<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>效能調校 on Justmaker's KB</title><link>https://justmaker.github.io/tags/%E6%95%88%E8%83%BD%E8%AA%BF%E6%A0%A1/</link><description>Recent content in 效能調校 on Justmaker's KB</description><generator>Hugo -- gohugo.io</generator><language>zh-tw</language><lastBuildDate>Thu, 03 Apr 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://justmaker.github.io/tags/%E6%95%88%E8%83%BD%E8%AA%BF%E6%A0%A1/index.xml" rel="self" type="application/rss+xml"/><item><title>KVM 虛擬機效能調校指南</title><link>https://justmaker.github.io/post/virtualization/kvm-performance-tuning/</link><pubDate>Thu, 03 Apr 2025 00:00:00 +0000</pubDate><guid>https://justmaker.github.io/post/virtualization/kvm-performance-tuning/</guid><description>&lt;h2 id="前言">前言
&lt;/h2>&lt;p>KVM 虛擬機的預設設定通常不是最佳效能。透過一些調校，可以讓 VM 跑得更快、更穩。&lt;/p>
&lt;p>這篇整理我實際工作中用過的效能調校技巧。&lt;/p>
&lt;h2 id="1-cpu-優化">1. CPU 優化
&lt;/h2>&lt;h3 id="cpu-pinning">CPU Pinning
&lt;/h3>&lt;p>預設情況下，vCPU 可以在任何 pCPU 上執行，這會導致 cache miss 和 NUMA 問題。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-xml" data-lang="xml">&lt;span class="line">&lt;span class="cl">&lt;span class="c">&amp;lt;!-- libvirt XML 設定 --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;vcpu&lt;/span> &lt;span class="na">placement=&lt;/span>&lt;span class="s">&amp;#39;static&amp;#39;&lt;/span>&lt;span class="nt">&amp;gt;&lt;/span>4&lt;span class="nt">&amp;lt;/vcpu&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;cputune&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;vcpupin&lt;/span> &lt;span class="na">vcpu=&lt;/span>&lt;span class="s">&amp;#39;0&amp;#39;&lt;/span> &lt;span class="na">cpuset=&lt;/span>&lt;span class="s">&amp;#39;2&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;vcpupin&lt;/span> &lt;span class="na">vcpu=&lt;/span>&lt;span class="s">&amp;#39;1&amp;#39;&lt;/span> &lt;span class="na">cpuset=&lt;/span>&lt;span class="s">&amp;#39;3&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;vcpupin&lt;/span> &lt;span class="na">vcpu=&lt;/span>&lt;span class="s">&amp;#39;2&amp;#39;&lt;/span> &lt;span class="na">cpuset=&lt;/span>&lt;span class="s">&amp;#39;4&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;vcpupin&lt;/span> &lt;span class="na">vcpu=&lt;/span>&lt;span class="s">&amp;#39;3&amp;#39;&lt;/span> &lt;span class="na">cpuset=&lt;/span>&lt;span class="s">&amp;#39;5&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;/cputune&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>原則：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>避免使用 CPU 0&lt;/strong>（留給 host）&lt;/li>
&lt;li>&lt;strong>同一 NUMA node&lt;/strong> 的 CPU 分配給同一 VM&lt;/li>
&lt;li>查看 NUMA topology：&lt;code>lscpu | grep NUMA&lt;/code> 或 &lt;code>numactl --hardware&lt;/code>&lt;/li>
&lt;/ul>
&lt;h3 id="cpu-模式">CPU 模式
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-xml" data-lang="xml">&lt;span class="line">&lt;span class="cl">&lt;span class="c">&amp;lt;!-- 使用 host-passthrough 取得最佳 CPU 指令集支援 --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;cpu&lt;/span> &lt;span class="na">mode=&lt;/span>&lt;span class="s">&amp;#39;host-passthrough&amp;#39;&lt;/span> &lt;span class="na">check=&lt;/span>&lt;span class="s">&amp;#39;none&amp;#39;&lt;/span> &lt;span class="na">migratable=&lt;/span>&lt;span class="s">&amp;#39;on&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>host-passthrough&lt;/code> 直接暴露 host CPU 特性給 VM，效能最好但會影響 live migration 相容性。&lt;/p>
&lt;h2 id="2-記憶體優化">2. 記憶體優化
&lt;/h2>&lt;h3 id="hugepages">Hugepages
&lt;/h3>&lt;p>預設 4KB page 在大量記憶體時 TLB miss 嚴重。用 2MB hugepage 可以大幅改善：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Host 設定 hugepages（例如分配 4GB = 2048 個 2MB pages）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="m">2048&lt;/span> &amp;gt; /proc/sys/vm/nr_hugepages
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 永久設定&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;vm.nr_hugepages=2048&amp;#34;&lt;/span> &amp;gt;&amp;gt; /etc/sysctl.conf
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-xml" data-lang="xml">&lt;span class="line">&lt;span class="cl">&lt;span class="c">&amp;lt;!-- libvirt XML --&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;memoryBacking&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;hugepages/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;/memoryBacking&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="numa-aware-memory">NUMA Aware Memory
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-xml" data-lang="xml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;numatune&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;memory&lt;/span> &lt;span class="na">mode=&lt;/span>&lt;span class="s">&amp;#39;strict&amp;#39;&lt;/span> &lt;span class="na">nodeset=&lt;/span>&lt;span class="s">&amp;#39;0&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;/numatune&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>確保 VM 記憶體分配在對應的 NUMA node 上。&lt;/p>
&lt;h2 id="3-儲存-io-優化">3. 儲存 I/O 優化
&lt;/h2>&lt;h3 id="virtio-blk-vs-virtio-scsi">virtio-blk vs virtio-scsi
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>特性&lt;/th>
&lt;th>virtio-blk&lt;/th>
&lt;th>virtio-scsi&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>效能&lt;/td>
&lt;td>略快&lt;/td>
&lt;td>接近&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>功能&lt;/td>
&lt;td>基本&lt;/td>
&lt;td>SCSI 命令、multi-queue&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Discard/TRIM&lt;/td>
&lt;td>支援&lt;/td>
&lt;td>支援&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>熱插拔&lt;/td>
&lt;td>有限&lt;/td>
&lt;td>完整&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>一般用途用 &lt;code>virtio-blk&lt;/code>，需要進階 SCSI 功能用 &lt;code>virtio-scsi&lt;/code>。&lt;/p>
&lt;h3 id="io-thread">I/O Thread
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;span class="lnt">9
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-xml" data-lang="xml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;iothreads&amp;gt;&lt;/span>2&lt;span class="nt">&amp;lt;/iothreads&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;disk&lt;/span> &lt;span class="na">type=&lt;/span>&lt;span class="s">&amp;#39;file&amp;#39;&lt;/span> &lt;span class="na">device=&lt;/span>&lt;span class="s">&amp;#39;disk&amp;#39;&lt;/span>&lt;span class="nt">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;driver&lt;/span> &lt;span class="na">name=&lt;/span>&lt;span class="s">&amp;#39;qemu&amp;#39;&lt;/span> &lt;span class="na">type=&lt;/span>&lt;span class="s">&amp;#39;qcow2&amp;#39;&lt;/span> &lt;span class="na">cache=&lt;/span>&lt;span class="s">&amp;#39;none&amp;#39;&lt;/span> &lt;span class="na">io=&lt;/span>&lt;span class="s">&amp;#39;native&amp;#39;&lt;/span> &lt;span class="na">ioeventfd=&lt;/span>&lt;span class="s">&amp;#39;on&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;source&lt;/span> &lt;span class="na">file=&lt;/span>&lt;span class="s">&amp;#39;/path/to/disk.qcow2&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;target&lt;/span> &lt;span class="na">dev=&lt;/span>&lt;span class="s">&amp;#39;vda&amp;#39;&lt;/span> &lt;span class="na">bus=&lt;/span>&lt;span class="s">&amp;#39;virtio&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;iotune&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;iothread&amp;gt;&lt;/span>1&lt;span class="nt">&amp;lt;/iothread&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;/iotune&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;/disk&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="cache-模式">Cache 模式
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>模式&lt;/th>
&lt;th>安全性&lt;/th>
&lt;th>效能&lt;/th>
&lt;th>適用場景&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>none&lt;/code>&lt;/td>
&lt;td>✅ 高&lt;/td>
&lt;td>✅ 好&lt;/td>
&lt;td>&lt;strong>推薦&lt;/strong> — Host cache bypass&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>writethrough&lt;/code>&lt;/td>
&lt;td>✅ 高&lt;/td>
&lt;td>❌ 慢&lt;/td>
&lt;td>資料安全優先&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>writeback&lt;/code>&lt;/td>
&lt;td>❌ 低&lt;/td>
&lt;td>✅ 快&lt;/td>
&lt;td>測試環境&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>directsync&lt;/code>&lt;/td>
&lt;td>✅ 高&lt;/td>
&lt;td>❌ 最慢&lt;/td>
&lt;td>極端安全需求&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="4-網路優化">4. 網路優化
&lt;/h2>&lt;h3 id="virtio-net--vhost-net">virtio-net + vhost-net
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-xml" data-lang="xml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;interface&lt;/span> &lt;span class="na">type=&lt;/span>&lt;span class="s">&amp;#39;bridge&amp;#39;&lt;/span>&lt;span class="nt">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;source&lt;/span> &lt;span class="na">bridge=&lt;/span>&lt;span class="s">&amp;#39;br0&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;model&lt;/span> &lt;span class="na">type=&lt;/span>&lt;span class="s">&amp;#39;virtio&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;lt;driver&lt;/span> &lt;span class="na">name=&lt;/span>&lt;span class="s">&amp;#39;vhost&amp;#39;&lt;/span> &lt;span class="na">queues=&lt;/span>&lt;span class="s">&amp;#39;4&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;/interface&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>vhost-net&lt;/code> 把部分網路處理移到 kernel space，減少 context switch。&lt;/p>
&lt;h3 id="multi-queue">Multi-queue
&lt;/h3>&lt;p>多 queue 可以利用多核心平行處理網路封包：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-xml" data-lang="xml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">&amp;lt;driver&lt;/span> &lt;span class="na">name=&lt;/span>&lt;span class="s">&amp;#39;vhost&amp;#39;&lt;/span> &lt;span class="na">queues=&lt;/span>&lt;span class="s">&amp;#39;4&amp;#39;&lt;/span>&lt;span class="nt">/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>VM 內部也要啟用：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">ethtool -L eth0 combined &lt;span class="m">4&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="5-實測參考數據">5. 實測參考數據
&lt;/h2>&lt;p>以下是典型 KVM 調校前後的效能差異（僅供參考）：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>項目&lt;/th>
&lt;th>調校前&lt;/th>
&lt;th>調校後&lt;/th>
&lt;th>提升&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>sysbench CPU&lt;/td>
&lt;td>1200 events/s&lt;/td>
&lt;td>1450 events/s&lt;/td>
&lt;td>+21%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fio 隨機讀 IOPS&lt;/td>
&lt;td>45K&lt;/td>
&lt;td>62K&lt;/td>
&lt;td>+38%&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>iperf3 網路&lt;/td>
&lt;td>8.2 Gbps&lt;/td>
&lt;td>9.4 Gbps&lt;/td>
&lt;td>+15%&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="總結">總結
&lt;/h2>&lt;p>KVM 效能調校的核心原則：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>減少共享&lt;/strong>：CPU pinning、NUMA 對齊&lt;/li>
&lt;li>&lt;strong>減少開銷&lt;/strong>：hugepages、vhost-net、io=native&lt;/li>
&lt;li>&lt;strong>用 virtio&lt;/strong>：不要模擬傳統硬體&lt;/li>
&lt;li>&lt;strong>量測為王&lt;/strong>：每個調校都要實測驗證&lt;/li>
&lt;/ol>
&lt;p>下一篇會講 GPU Passthrough 的設定。&lt;/p></description></item></channel></rss>