Skip to content

ZGT multiport

Feature availability

Available in: Resilio 4.0 and newer
Available for: Agents on all operating systems.

ZGT multiport allows to increase transfer speeds by using multiple UTP3 connections for a single tunnel.

To enable ZGT multiport:

  1. In the Agent Profile, add the following custom parameters:

    • net.utp3.multiport:true
    • net.utp3.max_send_threads:<number-of-threads>
    • net.utp3.max_socket_threads:<number-of-threads>

      Important

      • Applicable values for <number-of-threads> are 2, 3, or 4.
      • It is not recommended to set more threads than the number of CPU cores on the weakest host.
      • The number of send and receive threads must be equal.
    • net.tcp.so_sndbuf:<buffer-size>

    • net.tcp.so_rcvbuf:<buffer-size>
    • net.udp.so_sndbuf:<buffer-size>
    • net.udp.so_rcvbuf:<buffer-size>

      Note

      Set <buffer-size> to 1048576 (1MB), or 2097152 (2MB) if network bandwidth diagnostic test reports too many packets lost.

    • net.utp3.speed_per_worker:<packets-per-second>

      Note

      <packets-per-second> is a number of thousands of packets per second per socket. This value should match the maximum throughput you observed. Default is 200 which is around 1.8 Gbit. When you enable multiport, try 80.

  2. (Optional) Add the net.utp3.multiport.ports custom parameter to define ports used for multiport connections. For example, net.utp3.multiport.ports:3850, 3860, 3870

    Tip: Ports list delimiter

    When declaring a list of ports, you can also use ; character as the delimiter.

    Important

    By default, multiport uses ports 3839, 3840, 3841, etc. If you declare ports explicitly, you cannot include the bind port in the list.

Info

  • Agent restart is not required after adding the custom parameters. The new settings are applied automatically.
  • Agents can establish cross-connections (for example, local 3839 can connect to remote 3840, local 3840 can connect to remote 3842, etc.).