67228: Using archive_ctl CLI tool to test upload and download speed to/from a cloud storage location

use Google Translate

Last update: Thu, 2020-11-05 09:52

Applies to both Acronis-hosted and partner-hosted cloud locations.

Preparation

1. Download archive_io_ctl, unpack and place it on a machine in your environment.

2. Find out the cloud storage address from the Management Portal web GUI:

3. Obtain the cloud certificate from a currently registered and active (which has recently done successful backups) Agent and put the .crt file in the same directory where the archive tools are. See https://kb.acronis.com/content/60082 for certificate locations.

Testing Upload Speed

To test upload speed, use a file on the local machine and an existing cloud storage (allows to measure the effective throughput of the network between the test machine and the cloud location plus sequential write performance of the cloud storage; this does not take into account source-side disk-reading overheads).

1. Find a large enough file to transfer, e.g. a few hundred MB; for example, a previously created backup .tibx file or an ISO file such as a Linux installer or Acronis bootable media.

2. Open Command Prompt (in the search box on the taskbar, type cmd and then select Command Prompt in the list of results).

3. Use the cd command to navigate to the directory where acrhive_io_ctl has been unpacked. For example, you have unpacked it to C:\archive_io_ctl, then execute:

cd C:\archive_io_ctl

4. Note the time (timestamp) at upload start. The archive_io_ctl tool does print timestamps, however, too much text can get printed to the CMD terminal, causing its text buffer to overflow, losing the first lines thus the start_time timestamp.

5. Upload your file to Acronis cloud storage with this command:

archive_io_ctl --copy <your test file> --astor <storage_address> --cert <certificate> --dst /1/<filename_with_extension_if_any> --continue

where <your test file> is the file you have selected for this test;
<storage_address> is the address you've noted in Preparation - Step 2;
<certificate> is your cloud certificate file obtained in Preparation - Step 3;
<filename_with_extension_if_any> is the filename of the uploaded file in the cloud; for testing purposes it can be the filename of your test file

For example:
archive_io_ctl --copy "C:\archive_io_ctl\ISOfile.iso" --astor baas-fes-eu4.acronis.com --cert C:\archive_io_ctl\certificate.crt --dst "/1/ISOfile.iso" --continue

6. After the upload finishes, note the time(stamp). Subtract the start time from the end time and divide the uploaded file size by the time spent; the result is the measured average upload speed.

Testing Download Speed

To test the download speed, use an existing file (such as a TIBX backup archive or a file you have uploaded in "Testing Upload Speed") in the cloud storage and a local machine (allows to measure the effective throughput of the network between the test machine and the cloud location plus sequential read performance of the cloud storage; this does not take into account local-machine-side disk-writing overheads).

1. To list files in the cloud repository, use this sequence of commands:

To connect to your cloud storage, execute:
archive_io_ctl --astor <storage_address> --cert <certificate>
where <storage_address> is the address you've noted in Preparation - Step 2;
<certificate> is your cloud certificate file obtained in Preparation - Step 3

An interactive prompt/shell will appear once archive_io_ctl has connected and authenticated with the cloud storage.

To navigate to the folder where the archives or the previously uploaded file is located, type:
cd 1

To list the contents of this folder, type:
ls

In the list of files and their logical and occupied on-disk sizes, you will see the previously uploaded file.

Type exit to exit the interactive shell.

2. Note the time(stamp) at download start. The archive_io_ctl tool does print timestamps, however, too much text can get printed to the CMD terminal, causing its text buffer to overflow, losing the first lines thus the start_time timestamp.

3. Download a file from Acronis cloud storage with this command:

archive_io_ctl --astor <storage_address> --cert <certificate> --copy /1/<chosen_test_filename_with_extension_if_any> --dst <local_path_and_filename_with_extension_if_any> --continue

where <storage_address> is the address you've noted in Preparation - Step 2
<certificate> is your cloud certificate file obtained in Preparation - Step 3
<chosen_test_filename_with_extension_if_any> is the file you want to download, noted in Testing Download Speed - Step 1
<local_path_and_filename_with_extension_if_any> is the path to the folder where this file should be saved and the filename it should be saved with

For example:
archive_io_ctl --astor baas-fes-eu4.acronis.com --cert certificate.crt --copy /1/ISOfile.iso --dst C:\archive_io_ctl\newISOfile.iso --continue

3. After the download finishes, note the time(stamp). Subtract the start time from the end time and divide the uploaded file size by the time spent; the result is the measured average download speed.

Deleting test file from cloud 

Delete the uploaded test file so that it doesn't consume cloud storage quota unnecessarily:

archive_io_ctl --astor <storage_address> --cert <certificate_file_name> --rm /1/<filename_with_extension_if_any>

where <storage_address> is the address you've noted in Preparation - Step 2
<certificate file name> is your cloud certificate file obtained in Preparation - Step 3
<filename_with_extension_if_any> is the file that you downloaded for testing purposes in Testing Download Speed

More information

It is generally a good idea to repeat these tests a few times, during different times of day and different days of week, to get a better idea of what results to expect as the load on the local network, the network path(s) local machine <-> cloud storage, and the I/O load on the cloud storage vary with time of day and day of week (network load and storage load).

NOTE: The transfer done by archive_io_ctl is, for the time being, over a single TCP stream, which matches how most agents work with cloud storage of most tenants at the moment. The currently used storage access protocol, ABGW 1.x, does not use multiple streams in parallel. A next-gen ABGW2 protocol is undergoing testing and should gradually be rolled out next year.

NOTE: The speedtest tool which is described in KB https://kb.acronis.com/content/59690 uses multiple TCP streams (as of now, typically 4) in parallel. This is less realistic and is in many cases not representative of how backups are transferred to/from cloud; if the latency between the testing machine/agent and the cloud storage exceeds several tens of milliseconds, the speedtest application is likely to SUBSTANTIALLY OVERESTIMATE THE TRANSFER SPEED. Please also note that the speedtest web application cannot be used with partner-hosted storage (storage which is not in an Acronis datacenter). The described method using archive_io_ctl is however UNIVERSALLY APPLICABLE.

NOTE: The obtained upload and download speeds should be used only as rough estimates of the maximum transfer speeds to/from cloud; the processing of real backups is usually somewhat slower (e.g. 20-30% slower is normal). If your actual backup transfer speeds are much slower than that, check for I/O and CPU bottlenecks (saturation) of the local machine on which you're doing the tests.

Tags: