Changing the Encryption/Decryption Speed on Windows

When you encrypt, decrypt, or rekey a disk, DataControl throttles the processing speed so that applications running on the server take priority. If your Windows system is operating under a light load or if you have multiple CPUs, you can increase the processing speed on the disk in real time by changing the rekey throttle speed. You can also save your rekey throttle configuration so that it becomes the default configuration for any disk in the selected VM.

Note: In this procedure, we are using "rekey" to mean initial encryption or decryption as well as actually changing the current encryption key on an already encrypted disk. The rekey throttle speed applies to all three of these operations.
  1. Log into the Windows VM as an administrator.
  2. To view the current rekey throttle configuration, enter the command hcl get_rekey_throttle [DiskNumber|config], where:

    • DiskNumber is the number of the disk whose configuration you want to check.
    • config displays the default values for rekey throttle.

    For example:

    C:\Users\Administrator > hcl get_rekey_throttle config
    Rekey Throttle Configuration is not set. Default values are
    PendingIoCount  : 1
    PollInterval    : 1 seconds
    Max Wait Time   : 60 seconds
  3. To set the rekey throttle options, enter the command hcl set_rekey_throttle [DiskNumber|config] PendingIoCount PollInterval MaxWaitTime , where:

    • DiskNumber is the number of the disk whose configuration you want to set. The changes take effect immediately if a rekey operation is in progress, and are saved until the server is rebooted. If you want to set these values permanently for the VM, use the config option.
    • config sets the default value for rekey throttle. These changes will take effect after the next server boot.
    • PendingIoCount — The background rekey task only runs if the number of pending I/O requests is less than this value. The default is 1, which means that DataControl will wait for the length of time specified in MaxWaitTime before it continues processing if there are any I/O requests on the server. If you want to remove all throttling, set this value to 0 (zero).

      We recommend that you only remove throttling if the server is not running any mission-critical applications or if you have four or more CPUs on your system. Even in these cases, we recommend that you monitor the disk performance during a rekey operation before you set this value to 0 in the default configuration.

    • PollInterval is the number of seconds to wait before DataControl polls the queue to see if there are any pending I/O requests. The default is 1 second.
    • MaxWaitTime is the maximum number of seconds to wait before DataControl rekeys one block of data even if the pending I/O count exceeds the value set in PendingIoCount. This ensures that the rekey task will complete eventually with minimal impact to the applications running on the server. The default is 60 seconds.

    The following example sets the default rekey throttle configuration to run if there are 20 or fewer I/O requests, to poll the I/O queue every 5 seconds, and to process 1 block of data every 90 seconds regardless of the number of pending I/O requests. It then gets the configuration to verify the changes:

    C:\Users\Administrator > hcl set_rekey_throttle config 20 5 90
    Default Rekey Throttle Configuration is set.
    Configuration will take effect in the next reboot.					
    C:\Users\Administrator > hcl get_rekey_throttle config
    PendingIoCount  : 20
    PollInterval    : 5 seconds
    Max Wait Time   : 90 seconds