<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Slow Backups | XOA Performance Test – Upgrading from 2 vCPU to 4 vCPU &#x2F; 8GB RAM]]></title><description><![CDATA[<p dir="auto">XOA Performance Test – Upgrading from 2 vCPU to 4 vCPU / 8GB RAM</p>
<p dir="auto">I wanted to share my experience because I was seeing unusually high CPU usage on my XOA VM during backup operations.</p>
<p dir="auto">Environment:</p>
<ul>
<li>XCP-ng pool with multiple hosts</li>
<li>XOA running as a VM</li>
<li>SSD RAID10 NFS storage</li>
<li>Daily delta backups (~17 production VMs)</li>
<li>Weekly backup jobs with Health Checks</li>
<li>Backup window previously around 7 hours</li>
</ul>
<p dir="auto">Symptoms before optimization:</p>
<ul>
<li>XOA CPU usage frequently close to 100%</li>
<li>During backups, multiple backupWorker.mjs processes saturated available CPUs</li>
<li>XOA felt sluggish while backups were running</li>
<li>Backup jobs took significantly longer than expected</li>
<li>htop showed worker processes fighting for CPU resources</li>
</ul>
<p dir="auto">Original XOA VM configuration:</p>
<ul>
<li>2 vCPU</li>
<li>4 GB RAM</li>
<li>1 socket / 2 cores</li>
</ul>
<p dir="auto">Observed htop behavior during backups:</p>
<p dir="auto">/usr/local/lib/node_modules/xo-server/node_modules/<a class="plugin-mentions-category plugin-mentions-a" href="/forum/category/12/xen-orchestra" aria-label="Profile: xen-orchestra">@<bdi>xen-orchestra</bdi></a>/backups/backupWorker.mjs</p>
<p dir="auto">Several workers continuously consumed nearly all available CPU.</p>
<p dir="auto">IMPORTANT:</p>
<p dir="auto">Run the following commands via SSH directly on the XCP-ng Pool Master.</p>
<p dir="auto">Do NOT perform these changes through the Xen Orchestra GUI itself because you are modifying the XOA VM that is currently managing your environment. Otherwise you may lock yourself out or interrupt your own management session during the reconfiguration process.</p>
<p dir="auto">Connect to the Pool Master:</p>
<p dir="auto">ssh root@&lt;POOL-MASTER-IP&gt;</p>
<p dir="auto">First identify the XOA VM UUID:</p>
<p dir="auto">xe vm-list | grep -i xoa -B1 -A2<br />
or:<br />
xe vm-list name-label="&lt;YOUR-XOA-VM-NAME&gt;"</p>
<p dir="auto">Example output:</p>
<p dir="auto">uuid ( RO): xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx<br />
name-label ( RW): XOA-Production<br />
power-state ( RO): running</p>
<p dir="auto">Copy the UUID for the following steps.</p>
<p dir="auto">Test procedure:<br />
I increased XOA resources to:</p>
<p dir="auto">New XOA configuration:</p>
<ul>
<li>4 vCPU</li>
<li>8 GB RAM</li>
<li>CPU topology: 1 socket / 4 cores</li>
</ul>
<p dir="auto">Procedure used:</p>
<ol>
<li>Shutdown XOA VM</li>
</ol>
<p dir="auto">xe vm-shutdown uuid=&lt;XOA-VM-UUID&gt;</p>
<p dir="auto">Wait a few seconds and verify status:</p>
<p dir="auto">xe vm-list <br />
uuid=&lt;XOA-VM-UUID&gt; <br />
params=name-label,power-state</p>
<ol start="2">
<li>Set memory</li>
</ol>
<p dir="auto">xe vm-memory-limits-set <br />
uuid=&lt;XOA-VM-UUID&gt; <br />
static-min=8GiB <br />
dynamic-min=8GiB <br />
dynamic-max=8GiB <br />
static-max=8GiB</p>
<ol start="3">
<li>Increase vCPU count</li>
</ol>
<p dir="auto">xe vm-param-set <br />
uuid=&lt;XOA-VM-UUID&gt; <br />
VCPUs-max=4</p>
<p dir="auto">xe vm-param-set <br />
uuid=&lt;XOA-VM-UUID&gt; <br />
VCPUs-at-startup=4</p>
<ol start="4">
<li>Set CPU topology</li>
</ol>
<p dir="auto">xe vm-param-set <br />
uuid=&lt;XOA-VM-UUID&gt; <br />
platform:cores-per-socket=4</p>
<ol start="5">
<li>Start XOA again</li>
</ol>
<p dir="auto">xe vm-start uuid=&lt;XOA-VM-UUID&gt;</p>
<p dir="auto">Verification:</p>
<p dir="auto">xe vm-param-get <br />
uuid=&lt;XOA-VM-UUID&gt; <br />
param-name=VCPUs-max</p>
<p dir="auto">xe vm-param-get <br />
uuid=&lt;XOA-VM-UUID&gt; <br />
param-name=VCPUs-at-startup</p>
<p dir="auto">xe vm-param-get <br />
uuid=&lt;XOA-VM-UUID&gt; <br />
param-name=platform</p>
<p dir="auto">xe vm-list <br />
uuid=&lt;XOA-VM-UUID&gt; <br />
params=name-label,power-state</p>
<p dir="auto">Results from the same backup job:</p>
<p dir="auto">Before:</p>
<ul>
<li>Backup size: 10.58 GiB</li>
<li>Transfer speed: 150.21 MiB/s</li>
<li>Total duration: 3 minutes</li>
<li>Health check transfer: 2 minutes</li>
</ul>
<p dir="auto">After:</p>
<ul>
<li>Backup size: 10.71 GiB</li>
<li>Transfer speed: 229.12 MiB/s</li>
<li>Total duration: 2 minutes</li>
<li>Health check transfer: 1 minute</li>
</ul>
<p dir="auto">Measured improvement:</p>
<p dir="auto">Transfer throughput:<br />
+52%</p>
<p dir="auto">Backup duration:<br />
-33%</p>
<p dir="auto">Health check transfer:<br />
-50%</p>
<p dir="auto">After the upgrade, htop showed backup workers distributed across all available CPUs instead of saturating only two cores.</p>
<p dir="auto">Conclusion:</p>
<p dir="auto">For my environment the bottleneck was not:</p>
<ul>
<li>NFS</li>
<li>Storage</li>
<li>SSD RAID10</li>
<li>Host performance</li>
</ul>
<p dir="auto">The bottleneck appears to have been XOA itself being underprovisioned.</p>
<p dir="auto">If you are running larger backup jobs, health checks, multiple workers, or backup-heavy environments, increasing XOA resources may provide a noticeable improvement.</p>
<p dir="auto">I still need to test the full nightly production run (~17 VMs), but initial results are very promising.</p>
<p dir="auto">Hope this helps someone.</p>
]]></description><link>https://xcp-ng.org/forum/topic/12219/slow-backups-xoa-performance-test-upgrading-from-2-vcpu-to-4-vcpu-8gb-ram</link><generator>RSS for Node</generator><lastBuildDate>Fri, 15 May 2026 16:03:46 GMT</lastBuildDate><atom:link href="https://xcp-ng.org/forum/topic/12219.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 15 May 2026 14:22:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Slow Backups | XOA Performance Test – Upgrading from 2 vCPU to 4 vCPU &#x2F; 8GB RAM on Fri, 15 May 2026 14:51:49 GMT]]></title><description><![CDATA[<p dir="auto">Before:<br />
<img src="/forum/assets/uploads/files/1778856452837-2vcpu.png" alt="2vCPU.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">After:<br />
<img src="/forum/assets/uploads/files/1778856441555-4vcpu.png" alt="4vCPU.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://xcp-ng.org/forum/post/105471</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/105471</guid><dc:creator><![CDATA[LoTus111]]></dc:creator><pubDate>Fri, 15 May 2026 14:51:49 GMT</pubDate></item></channel></rss>