Using parallel processing for submits and syncs

You can configure the server to transfer files in parallel for submit and sync processing. Parallel processing is most effective with long-haul, high latency networks or with other network configuration that prevents the use of available bandwidth with a single TCP flow. Parallel processing might also be appropriate when working with large compressed binary files, where the client must perform substantial work to decompress the file.

  • Use the net.parallel.max configurable to:

    • Transfer files in parallel during the submit process.
    • Speed up sync processing by having the p4 sync command transfer files using multiple threads. You do this by setting the net.parallel.max configuration variable to a value greater than one and by using the --parallel option to the p4 sync command.
  • Use the net.parallel.submit.threads configurable to specify the number of threads to be used for sending files in parallel for each submit (P4V 2017.3 and later).
  • Use the net.parallel.threads configurable to turn on parallel sync in a server. This parameter specifies the number of independent network connections that can be used for syncing files concurrently for each sync. When this parameter is set, parallel sync is automatically enabled in P4V as well (P4V 2017.3 and later).
  • To reduce lock contention during parallel syncs, set the client.sendq.dir configurable.

For more information see the p4 submit command and the p4 sync command in Helix Core P4 Command Reference.