While the SyncRate tool described below is still useful, it is no longer in active development. The preferred alternative, if you are looking to maximize your SyncTool transfer rates, is the SyncOptimize Tool.

Introduction

One of the questions we often get at DuraCloud is: How can I know how long it will take for me to upload all of my content to DuraCloud? To help answer that question, we've developed a very simple command-line tool called SyncRate. Don't let the "command-line" nature of this tool scare you, we'll walk you through the steps you need to follow below. Keep in mind that there many variables which can affect transfer speeds to DuraCloud. Your internet upload rate (which can be tested very easily) is the obvious first place to look, but things like the size of files being transferred, the media they are stored on, the local network speed, the amount of other traffic on the network, the routing paths used, and many other things can affect the numbers you see.

The SyncRate tool is based on the DuraCloud SyncTool, but is simplified to just perform a transfer of a small number of files, and report the transfer rate. The SyncRate tool allows you to play with a few variables, most notably thread count, to help determine what settings might yield the best results for you when using the SyncTool.

SyncRate

To run the SyncRate tool, you need two files, both of which you will need to download:

  1. The SyncRate driver jar file
  2. The SyncRate configuration file

The driver jar file is the executable that you will run to perform the test. The configuration file tells SyncRate how the test should be run.

Remember where you store these files when you download them (it is simplest if you place them together in their own directory), you'll need that information later.

To run this tool, you will also need access to a DuraCloud space. If you are not yet a DuraCloud subscriber, you can use a test account. If you are a subscriber with administrative access to an Enterprise account, you can create your own space to use for these tests. If you are using a Preservation or Preservation Plus account, you can either use one of your existing spaces (some test content will be stored there), or submit a support ticket to have a temporary space created for this purpose.

Configuration

Open the syncrate-config.properites file in a text editor (Notepad, Wordpad, TextEdit, or whichever editor you prefer is fine.) You will see a set of configuration parameters which you will need to set for your test to run.

Running

To run the SyncRate test, following these steps will allow your test to run

  1. The first step is to open a terminal or command prompt. For instructions on doing this in Windows, click here. If you are using a Mac, you will need to open the "Terminal" application, which can be found under /Applications/Utilities.
  2. Next navigate to the folder where you saved the SyncRate driver jar and configuration file. Do this by typing "cd", followed by a space, followed by the directory name where you stored these files. For example, on a Windows system, you might type something like "cd C:\Users\bob\Desktop\syncrate". On a Mac, you might type something like "cd /home/bob/syncrate". After you type this command, hit Enter.
  3. Now to actually run the SyncRate tool, type: "java -jar syncrate-2.2.2-driver.jar test1 syncrate-config.properties" and hit Enter.
    1. The SyncRate command requires two parameters. In this case, we're using the values "test1" and "syncrate-config.properties".
      1. The first parameter ("test1" in this example) is the name of the current run. Each run of the SyncRate tool must have a unique name. If the same name is used twice, the transfer rates for the second run will be inaccurate.
      2. Assuming that you have not change the name of the configuration file (and it's in the same directory as the driver jar) you shouldn't need to change the second parameter, though feel free to change the values in the configuration file to run further tests.

That's it. Once the SyncRate tool completes, it will print out an upload rate.

Troubleshooting