Skip to main content
Code42 Support

Code42 server configuration recommendations

Applies to:
  • Code42 CrashPlan (previously CrashPlan PROe)

Overview

Code42 recommends several adjustments to improve the performance of the Code42 server software and system.

For general system requirements for a Code42 server, refer to Code42 server Requirements.

Affects

Code42 servers

Considerations

  • This procedure requires access to your Code42 server. For environments with managed appliances, please contact sales.
  • This procedure requires you to restart the Code42 server.
  • These adjustments can affect other software. If you have questions about the recommendations presented here, please contact your PRO Services representative.

Before you begin

Determine how much RAM is installed in the server that hosts your Code42 server.

Linux Code42 server adjustments

For these examples, the Code42 server was installed as root in an Ubuntu environment using the Code42 server installer's default options. File paths in your environment may vary.

Step 1: Increase the Java memory limit

Code42 recommends increasing the Java heap space up to one-half of the total RAM available on the Code42 server. Increasing the Java heap space beyond that value can cause performance problems.

As an example, if your server has 16 GB of RAM available, then the maximum heap space you should use is 8 GB.

  1. Navigate to the Code42 server main install directory:
    /opt/proserver
  2. Open .proserverrc in a plain text editor.
    If your server does not currently have a .proserverrc file, you may create one. In that case, make sure that the permissions on .proserverrc allow the Code42 server to read the file.
  3. Locate the line beginning with the parameter JAVA_MEM_ARGS.
    If you created a .proserverrc file, you must create the line shown in the next step.
  4. Change the -Xmx argument of the JAVA_MEM_ARGS line to reflect the desired heap space. For example:
    • This argument would set the Java heap space to 4 GB:
      JAVA_MEM_ARGS="-Xss256k -Xms256m -Xmx4096m"
    • This argument would set the Java heap space to 8 GB:
      JAVA_MEM_ARGS="-Xss256k -Xms256m -Xmx8192m"
  5. Save the changes to the file.
  6. Restart the Code42 server service.

Step 2: Increase the open files limit for the Code42 server service

  1. Stop the Code42 server service by running the following command:
    sudo /opt/proserver/bin/proserver stop
  2. Open the /opt/proserver/.proserverrc file in a plain text editor.
    If this file does not already exist, create it.
  3. Add the following lines to the file:
    # Increase open files limit
    ulimit -n 409600
    
  4. Save the file.
  5. Run the following command to start the Code42 server service.
    sudo /opt/proserver/bin/proserver start
    

Step 3: Increase virtual memory maximum limit

  1. Open the /etc/sysctl.conf configuration file in a plain text editor.
  2. Add the following line to set the virtual memory maximum limit to 409600:
    vm.max_map_count=409600
  3. Save the file.
  4. Apply the new kernel settings immediately by running the command sysctl -p /etc/sysctl.conf or restarting the host server.

Step 4: Reduce performance overhead for statistics gathering

If your Code42 environment contains more than 50 storage servers or 10,000 client devices, decrease the rate at which storage servers send statistics to your master server:

  1. Sign in to your master server's administration console.
  2. Enter the administration console CLI by double-clicking the logo in the upper-left corner.
  3. Run the following commands:
    prop.set realtime.backup.gather.runInterval 120000 save all
    prop.set realtime.backup.accumulate.runInterval 60000 save all
    

Step 5: Change event loop threads setting

If your environment uses TLS messaging, and you see high memory usage or slow throughput while performing client upgrades or data balancing, perform the following steps to change the messaging event loop threads setting:

  1. Sign in to the administration console.
  2. Double-click the Code42 logo in the upper-left corner of the administration console.
    The command-line interface appears.
  3. Enter the followingprop.setcommand to change the messaging event loop threads setting from the default of 4 to 8:

prop.set c42.messaging.event.loop.threads 8 save all

  1. To verify the new setting in your Code42 environment, enter the following command:

prop.show c42.messaging.event.loop.threads

Windows Code42 server adjustment

Step 1: Increase the Java memory limit

Code42 recommends increasing the Java heap space up to one-half of the total RAM available on the Code42 server. Increasing the Java heap space beyond that value can cause performance problems.

As an example, if your server has 16 GB of RAM available, then the maximum heap space you should use is 8 GB.

Changes and Code42 server reinstallation
Note that the changes in this method will not persist if you reinstall the Code42 server, and you will need to repeat the modification after a reinstallation.
  1. Navigate to the Code42 server main install directory:
    C:\Program Files\CrashPlan PROe Server
  2. Open the CrashPlanPROServer.ini file in a plain text editor.
  3. Locate the line beginning with the parameter Virtual Machine Parameters.
  4. Change the -Xmx argument of the Virtual Machine Parameters line to reflect the desired heap space. For example:
    • This argument would set the Java heap space to 4 GB:
      Virtual Machine Parameters=-Xrs -Xmx4096m -Xss128K -Dapp=CPServer -Ddrools.compiler=JANINO
    • This argument would set the Java heap space to 8 GB:
      Virtual Machine Parameters=-Xrs -Xmx8192m -Xss128K -Dapp=CPServer -Ddrools.compiler=JANINO
  5. Save the changes to the file.
  6. Use the Windows Services manager to restart the Code42 server service.

Step 2: Reduce performance overhead for statistics gathering

If your Code42 environment contains more than 50 storage servers or 10,000 client devices, decrease the rate at which storage servers send statistics to your master server:

  1. Sign in to your master server's administration console.
  2. Enter the administration console CLI by double-clicking the logo in the upper-left corner.
  3. Run the following commands:
    prop.set realtime.backup.gather.runInterval 120000 save all
    prop.set realtime.backup.accumulate.runInterval 60000 save all
    

Step 3: Change event loop threads setting

If your environment uses TLS messaging, and you see high memory usage or slow throughput while performing client upgrades or data balancing, perform the following steps to change the messaging event loop threads setting:

  1. Sign in to the administration console.
  2. Double-click the Code42 logo in the upper-left corner of the administration console.
    The command-line interface appears.
  3. Enter the followingprop.setcommand to change the messaging event loop threads setting from the default of 4 to 8:

prop.set c42.messaging.event.loop.threads 8 save all

  1. To verify the new setting in your Code42 environment, enter the following command:

prop.show c42.messaging.event.loop.threads

OS X Code42 server adjustments

Step 1: Increase the Java memory limit

Code42 recommends increasing the Java heap space up to one-half of the total RAM available on the Code42 server. Increasing the Java heap space beyond that value can cause performance problems.

As an example, if your server has 16 GB of RAM available, then the maximum heap space you should use is 8 GB.

Changes and Code42 server reinstallation
Note that the changes in this method will not persist if you reinstall the Code42 server, and you will need to repeat the modification after a reinstallation.
  1. Open the Code42 server's process initialization directory:
    /Library/LaunchDaemons
  2. Open the com.crashplan.proserver.plist file in a plain text editor.
  3. Locate the key beginning with the parameter ProgramArguments.
  4. Change the -Xmx argument string within the ProgramArguments key to reflect the desired heap space. For example:
    • This key would set the Java heap space to 4 GB:
      <string>-Xmx4096m</string>
    • This key would set the Java heap space to 8 GB:
      <string>-Xmx8192m</string>
  5. Save the changes to the file.
  6. Restart the Code42 server service.

Step 2: Increase the launchd open files limit

Set the launchd soft and hard limits to 409600.

  1. Open the Terminal application.
  2. Run the following command to set the soft and hard limits to 409600:
    sudo launchctl limit maxfiles 409600 409600
  3. To make the new limits persist through system restarts, create or edit the /etc/launchd.conf file in a plain text editor and add the following line:
    limit maxfiles 409600 409600
    
  4. Make sure the permissions and file/group ownership on this file are similar to those around it. You can also set these values on a per-user basis by editing or creating a file named $HOME/.launchd.conf. This can be useful if the Code42 server is installed "as user".

Step 3: Increase the sysctl open files limits

On OS X, the launchd open file limit cannot exceed the sysctl open file limits. Set both sysctl open file limits to 409600.

  1. Open the Terminal application.
  2. Run the following commands to set the sysctl open files limits to 409600:
    sudo sysctl -w kern.maxfiles=409600
    sudo sysctl -w kern.maxfilesperproc=409600
  3. To make the new limits persist through system restarts, open /etc/sysctl.conf in a plain text editor and add the following lines:
    kern.maxfiles=409600
    kern.maxfilesperproc=409600

Step 4: Reduce performance overhead for statistics gathering

If your Code42 environment contains more than 50 storage servers or 10,000 client devices, decrease the rate at which storage servers send statistics to your master server:

  1. Sign in to your master server's administration console.
  2. Enter the administration console CLI by double-clicking the logo in the upper-left corner.
  3. Run the following commands:
    prop.set realtime.backup.gather.runInterval 120000 save all
    prop.set realtime.backup.accumulate.runInterval 60000 save all
    

Step 5: Change event loop threads setting

If your environment uses TLS messaging, and you see high memory usage or slow throughput while performing client upgrades or data balancing, perform the following steps to change the messaging event loop threads setting:

  1. Sign in to the administration console.
  2. Double-click the Code42 logo in the upper-left corner of the administration console.
    The command-line interface appears.
  3. Enter the followingprop.setcommand to change the messaging event loop threads setting from the default of 4 to 8:

prop.set c42.messaging.event.loop.threads 8 save all

  1. To verify the new setting in your Code42 environment, enter the following command:

prop.show c42.messaging.event.loop.threads