===== [V9] FAQ: How do I increase the number of replication threads on my AhsayCBS backup server to improve replication speed? =====
Article ID: 9345
Reviewed: 2022-01-10

Product Version:
AhsayCBS: 9.1 to 9.x
OS: All

===== Description ===== This document contains instructions on how to increase the number of available replication threads on an AhsayCBS backup server to improve the overall replication speed.

Default Setting
AhsayCBS support for multiple concurrent replication threads to improve the performance of the replication process and to ensure the replication process did not have a negative impact on the overall performance of AhsayCBS backup server.

Minimum replication threads = 1

The maximum number of replication threads is determined using the following formula:
For example, if the AhsayCBS server has a total of 8 CPU cores, then the number of concurrent backup set to replicate is 1.
For example, if the AhsayCBS server has a total of 16 CPU cores, then the number of concurrent backup set to replicate is 2.


Enhanced Setting
From AhsayCBS v9.1.x or above, for underutilized AhsayCBS backup servers running on high performance hardware and storage configurations, with spare network bandwidth capacity, there is an option to increase the maximum number of replication threads equal to N, the total number of CPU cores.

For example, an AhsayCBS server with a 16 core CPU, up to 16 concurrent replication threads can be configured.

WARNING:
Please consider carefully before increasing the maximum number of concurrent replication threads on your AhsayCBS backup server. As this change could have a negative impact on your AhsayCBS backup server and therefore your backup service, for example:


  1. The AhsayCBS backup server could become unresponsive or sluggish.
  2. Slow AhsayOBM/AhsayACB backup/restore performance.
  3. Your AhsayOBM/AhsayACB clients may be unable to connect to the backup server, resulting in missed backups.
  4. The AhsayCBS replication server may become overloaded if it is unable to process the increased number of threads and data sent from the AhsayCBS backup server.

Assumptions:
  1. AhsayCBS v9.1.x or above is installed.

  2. AhsayCBS Java heap size setting.

    Increasing the number of concurrent replication threads will result in increased Java memory usage. As a general rule of thumb, twice as many replication threads will utilize twice as the amount of Java memory.

    Therefore, it is highly recommended to increase your Java heap size setting before using a higher replication thread setting, if the peak Java memory usage on your AhsayCBS server is over 50% of the maximum Java heap size setting. (The peak Java memory usage can be obtained from [Monitoring]> [Dashboard]>[Memory] )

    For example:
    • If current maximum Java heap setting is 4096M and the peak Java memory usage exceeds 2048M, then you should consider increasing the maximum Java heap size up to 8196M (if your host server has extra RAM to spare without over allocating to starve your OS RAM requirements).
    • If current maximum Java heap setting is 4096M and the peak Java memory usage is only 1500M, you may not need any maximum Java heap size adjustment in the short term.

      Please refer to the following FAQ: How to modify the Java heap size of AhsayCBS?

  3. AhsayCBS installation path: %CBS_INSTALL_PATH%

    Windows: C:\Program Files\AhsayCBS
    Linux/Unix: /usr/local/cbs
    AhsayUBS: /ubs/mnt/eslsfw/obsr

===== Steps =====
  1. Shutdown the AhsayCBS service.
  2. Using a text editor open the %CBS_INSTALL_PATH%/conf/cbs.opt file
  3. Add the following setting to the end of file and save: com.ahsay.cbs.obs.config.Index.RepMaxThreads=true
  4. Restart the AhsayCBS service.
  5. Login to the AhsayCBS web management console.
  6. Go to [Replication]>[Sending Data] and click on the “No. of backup sets to replicate concurrently” and select the number of replication threads you wish to configure.


    Example: An AhsayCBS backup server with 16 core CPU

===== Keywords ===== replication, threads, performance, server load, CPU core, concurrent, Java memory, Java heap size