2.4 Fine-Tuning Data Transfer Performance

You can fine-tune data transfer during migration jobs for optimum performance over your network. The specifics of functionality and configuration procedures depend on the data transfer method selected for a particular job. See Supported Transfer Methods in your User Guide.

2.4.1 Fine-Tuning File-Level and VSS-Aware Block-Level Transfer Performance

You can fine-tune your over-the-network data transfer for optimum performance in your specific environment. For example, you might need to control the number of your TCP connections or impose a packet-level compression threshold.

This functionality is supported for migration jobs that use the following data transfer methods:

  • File-level

  • Block-level with the Microsoft Volume Shadow Copy Service (VSS) option selected

Fine-tuning is done by modifying the product’s productinternal.config configuration file, located on your Portability Suite Server host in the following directory:

..\PlateSpin Portability Suite Server\Web

Below is a list of the configuration parameters with two sets of values: the defaults and the values recommended for optimum operation in a high-latency WAN environment.

Table 2-4 Parameters for Fine-Tuning File-Level Data Transfer Performance

Parameter

Default Value

For High-Latency WANs

fileTransferThreadcount

Controls the number of TCP connections opened for file-based data transfer.

2

4 to 6 (max)

fileTransferMinCompressionLimit

Specifies the packet-level compression threshold in bytes.

0

(disabled)

max 65536 (64 KB)

fileTransferCompressionThreadsCount

Controls the number of threads used for packet-level data compression. Ignored if compression is disabled.

Because the compression is CPU-bound, this setting might have a performance impact during Live Transfer.

2

n/a

fileTransferSendReceiveBufferSize

TCP/IP window size setting for file transfer connections; controls the number of bytes sent without TCP acknowledgement, in bytes.

When the value is set to 0, the default TCP window size is used (8 KB). For custom sizes, specify the size in bytes.

Use the following formula to determine the proper value:

((LINK_SPEED(Mbps)/8)*DELAY(sec))*1024*1024

For example, for a 100 Mbps link with 10 ms latency, the proper buffer size would be:

(100/8)*0.01 * 1024 * 1024 = 131072 bytes

0 (8192 bytes)

max 5242880 (5 MB)

2.4.2 Fine-Tuning Block-Level Data Transfer Performance

You can fine-tune over-the-network block-level data transfer for optimum performance in your specific environment by implementing bandwidth throttling and compression.

This functionality is supported for migration jobs that use the block-level data transfer method without the Microsoft Volume Shadow Copy Service (VSS) option.

The system’s default settings for block-level data transfers impose no limitations on bandwidth consumption and do not compress data being transferred. Portability Suite provides two methods for enabling bandwidth throttling and data compression:

  • System-wide: By editing the Portability Suite Server’s web.config file. Bandwidth throttling and data compression specified this way apply to all block-level migration jobs, including transfers of complete volume data, as well as incremental synchronizations.

  • Per-workload: By importing a custom Windows Registration (*.reg) file into the source Windows machine’s registry. This enables you to define customized bandwidth throttling and data compression settings for specific workloads to use during migration jobs.

Both methods control bandwidth throttling and data compression on a per-volume basis. Settings specified through the Windows registry override those in the web.config file. Neither method requires a reboot or other intervention for the changes to take effect.

Before using either method to fine tune block-level data transfer performance, determine appropriate compression and bandwidth values that balance CPU usage and network efficiency for your particular system, network, and workload.

Fine-Tuning Block-Level Data Transfer Performance System-Wide

  1. Make sure there are no workload migration jobs underway.

  2. Use a text editor to open the web.config file located on your Portability Suite Server host in the following directory:

    ..\PlateSpin Portability Suite Server\Web

  3. Find the following lines:

    <add key="BlockBasedTransferCompressionLevel" value="0" />
    <add key="BlockBasedTransferBandwidthThrottlingInKB" value="0" />
    
  4. Edit the lines:

    1. In the first line, change the compression level value in quotes to a number from 0-9 (with 0 for no compression and 9 for maximum compression).

    2. In the second line, change the bandwidth throttling value in quotes to a number representing kilobytes per second.

      For example, for a required compression level of 3 and bandwidth cap of 512 KB/sec per volume being transferred, the appropriate lines in web.config look like this:

      <add key="BlockBasedTransferCompressionLevel" value="3" />
      <add key="BlockBasedTransferBandwidthThrottlingInKB" value="512" />
      
  5. Save the web.config file.

  6. For the changes to take effect, restart the following services on the Portability Suite Server, in the specified order:

    1. World Wide Web Publishing Service.

    2. Portability Suite Service.

    3. PlateSpin Operations Framework Controller.

Fine-Tuning Block-Level Data Transfer Performance on a Per-Workload Basis

  1. Make sure the Block-based Transfer Component is already installed on the source machine.

  2. Use the text below to create a Windows Registration (*.reg) file:

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\PlateSpin\BlockBasedTransfer]
    "CompressionLevel"=dword:00000000
    "BandwidthThrottling"=dword:00000000
    
    

    Replace the last digit of the dword value for "CompressionLevel" with a number from 0-9 (with 0 for no compression and 9 for maximum compression), and replace the dword value for "BandwidthThrottling" with a number representing bits per second (for example, 512 kilobytes per second would be 00512000).

    These values override any settings made in the Portability Suite Server’s web.config file.

  3. Use your Windows Registry Editor to import the *.reg file into the Windows Registry.