Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image RemovedImage Added

Overview

This page provides information about how to set global configurations for the SkySync platform. You configure variables in the database through the command-line interface or in the appSettings.json file. (The appSettings.json file is located in C:\Program Files\SkySync\appSettings.json unless a different directory was specified during installation).  

(warning)Before changing any configuration settings, it’s important to understand the factors that influence transfer performance. These variables all have a significant effect, positive or negative, on the throughput that any migration will achieve.

Environment Overrides and Precedence

Below is the order of precedence, in order from highest to lowest, in which SkySync reads the configuration once the database and service are online and installation is complete. If a variable is set in two locations, SkySync will override the setting in the lower source with the one in the higher source.

  1. License first

  2. Then database

  3. Then command-line

  4. Then environment variables

  5. Then appSettings.json

(warning)Changes to the appsettings.json file will not take effect until the SkySync services is restarted.

Available Configuration Options

The table below lists the global configuration options available to edit.

Object

Key

Description

Acceptable Values

Default Value

Applicable to appSettings.json Only

logging

level

Audit Level or Log Level
The application audit level and the default audit level for transfer jobs 
Logging options in order of most detail to least:

  • Trace

  • Debug

  • Info

  • Warn

  • Error

  • Fatal

Trace
Debug
Info
Warn
Error
Fatal

info

false

retention_days

The log retention duration in days

integer

21

false

metrics

graphite:host

The graphite server name to use when publishing metrics

string

(null)

true

graphite:port

The graphite server port (can be empty and will default based on server format)

integer

(null)

true

graphite:id

A node identifier to prefix all metric key names (useful to distinguish metrics coming from multiple nodes in a cluster)

string

(null)

true

net

fiddler:enable

Enable the FiddlerCore plugin to allow the embedded Fiddler to collect traces.  You will still need to separately enable and disable trace collection as needed.

true
false

false

false

Box

box:suppress_notes_versions

Determines if Box Notes versions should be transferred. By default, the value is set to true, which suppresses versions and only transfers the latest version. If set to false, all versions of the Box Note will transfer.

true
false

true

false

office365

batch_item_limit

The default batch item limit in Office365

integer

100

false

batch_max_size

The default batch max total size in Office365

integer

(null)

false

batch_monitor_interval

The retry interval when monitoring Office365 batches for completion (ms)

integer

1000

false

batch_monitor_max_retries

The maximum number of retries when monitoring Office365 batches for completion

integer

86400

false

site_template_ids

Comma delimited list of site template ids to be returned when listing site collections

string

"STS#0", "GROUP#0", "EHS#1"

false

performance

parallel_writes

Performance Parallel Writes
The default number of parallel writes to use during transfer execution

The default parallel write value is set at 4, 8, or 12 based on CPU logical processors count of the machine running the SkySync service.

If the CPU Logical Processors is 2, the default parallel writes value is 4.
If the CPU Logical Processors is 8, the default parallel writes value is 8.
If the CPU Logical Processors is 32, the default parallel writes value is 12.

integer
true
false

Varies
4, 8, or 12

false

concurrent_transfers

Performance Concurrent Transfers
The default number of jobs to run in parallel

integer

6

false

upload

Performance Throttle Upload
The default bandwidth limiter to apply on uploads

integer

(null)

false

download

Performance Throttle Download
The default bandwidth limiter to apply on downloads

integer

(null)

false

transfers

encode_invalid_characters

Encodes invalid characters instead of replacing them with an underscore
The UTF8 bytes for invalid characters are used and converted to a hex string.
Example: 123白雜.txt would be converted to 123E799BDE99B9CE8.txt

true
false

false

false

segment_truncate

Shortens a path or segment name when it exceed the maximum number of characters allowed based on the platform.  Truncation removes the right-most characters until the path meets the length requirements.

true
false

false

false

Usage Examples

For each of the variable override options above, there exists a specific method of setting the variable that is called. In these examples, we will look at increasing the default concurrent transfer limit.

Database

To set the config option via the database, enter the following command with your desired option:

Code Block
>skysync.exe config set performance:concurrent_transfers 10 --in-database

To clear the configuration option in the database, run the following:

Code Block
>skysync.exe config clear --config-key performance:concurrent_transfers --in-database


Command-Line Interface

To set the config option via the command-line interface, enter the following with your desired option:

Code Block
>skysync.exe --performance:concurrent_transfers=10

appSettings.json File

To set the configuration option via your local appSettings.json file, add the following snippet with your desired option:

Code Block
{
    "performance": {
        "concurrent_transfers": "10"
    },
}

To see this in full context of your local appSettings.json file with multiple options enabled:

Code Block
languagejson
{
    "data": {
        "provider": "sqlserver",
        "connection": "Server=server_location;Database=database_name;User ID=sa;Password=passW@rd!;",
        "embedded": "false",
        "native_encryption": "false"
    },
    "performance": {
        "parallel_writes": 6,
        "concurrent_transfers": 10
    }
}

(warning)Changes to the appsettings.json file will not take effect until the SkySync services is restarted.