I like ovftool and I use it to backup and restore VMs. However, I find it very slow even when VMs are running on SSDs.
Here is my test environment:
Two ESXi 6.7 hosts, both use local SATA or NVME SSDs as datastore.
OVFTools 4.4.3 , latest version running on Windows 2019, also uses NVME SSDs.
The connection to the 3 computers is 1Gbps LAN network.
I run the following command to export VM:
ovftool --parallelThreads=7 --noSSLVerify --noNvramFile vi://root:pw@myvmhost1/win11 E:\win11.ovf
The win11 VM is Thin provisioned, and is about 25GB size in datastore browser. After exporting, it generates a 11GB of ovf file in 9 mins, which ueses only 20% of my network bandwidth. Importing is about the same speed.
I tried the different --compress and --parallelThreads parameters and only make it slower.
Spoiler (Highlight to read) no "--compress", --parallelThreads=7, size 11.6 GB, 9 minutes, 7 seconds "--compress=1", --parallelThreads=7, size 11.5 GB, 14 minutes, 59 seconds "--compress=9", --parallelThreads=7, size 11.5 GB, 15 minutes, 11 seconds "--compress=9", no parallelThreads, size 11.5 GB, 15 minutes, 11 seconds "--compress=9", --parallelThreads=1, size 11.5 GB, 15 minutes, 4 seconds "--compress=9", --parallelThreads=7, OVA size 11.5 GB, 16 minutes, 15 seconds
no "--compress", --parallelThreads=7, size 11.6 GB, 9 minutes, 7 seconds"--compress=1", --parallelThreads=7, size 11.5 GB, 14 minutes, 59 seconds"--compress=9", --parallelThreads=7, size 11.5 GB, 15 minutes, 11 seconds"--compress=9", no parallelThreads, size 11.5 GB, 15 minutes, 11 seconds"--compress=9", --parallelThreads=1, size 11.5 GB, 15 minutes, 4 seconds"--compress=9", --parallelThreads=7, OVA size 11.5 GB, 16 minutes, 15 seconds
So, if CPU, disk I/O, RAM and network are all at low usage, why is ovftool slow? Is it because it is a slow program or I am doing something wrong?