This is one of the common questions we face from the prospects daily. Lots of times, we hand wave around this question which does not give much comfort to the end user. It is also a tricky question because TrilioVault is software only solution overlaid on the platform so its performance heavily depends on the platform itself, like its network bandwidth, storage performance etc. However, it is important that we provide concrete tooling so they can determine themselves what performance they can expect from TrilioVault on their platform.
TrilioVault does not directly upload backup image to s3 as one object. Instead it breaks the backup images into 32 MB chunks and uploads these chunks on to s3 as individual objects. So to determine the performance of TrilioVault with their s3 backend, they can run the following sequence of commands on the platform:
For k8s, run the following code segment on a POD
For OpenStack, run the following code segment on the compute node
For RHV, run the following code segment on the RHV node
# create 100 GB file using dd command[[email protected] ~]# dd if=/dev/urandom of=100gb bs=1M count=102400# Split the file into 32MB chunks and move them to a folder called mysegments[[email protected] ~]# split -b 32m 100gb segment[[email protected] ~]# mkdir segments[[email protected] ~]# mv segment* mysegments/# upload segments using aws s3 command to the s3 bucket you might use as backup target[[email protected] ~]# time aws s3 cp mysegments/ s3://trilio-qa/perftest/ --recursivereal 41m51.511suser 13m12.434ssys 10m38.640s# TrilioVault uses qemu-img command to convert disk images to qcow2 and uploads to s3[[email protected] ~]# time qemu-img convert -p -O qcow2 100gb /var/trilio/triliovault-mounts/perftest/100gb.qcow2(100.00/100%)real 37m10.657suser 0m14.999ssys 2m49.130s
As you can see, the AWS s3 command's performance mirrors that of qemu-img convert command. This gives the user a rough estimate on how much time it takes to backup a 100 GB workload. There will of course be an overhead (few minutes) for each backup.
Similarly, run the following code segment on the platform. Make sure NFS share is mapped to the platform. Assuming the NFS share is mapped at /var/triliovault-mounts directory
# TrilioVault uses qemu-img command to convert disk images to qcow2 on NFS backend[[email protected] ~]# time qemu-img convert -p -O qcow2 100gb /var/triliovault-mounts/100gb.qcow2(100.00/100%)real 37m10.657suser 0m14.999ssys 2m49.130s