Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 Server Administration Documentation | 2025.1

# Network

P4 Server can run over any TCP/IP network. For remote users or multi-server configurations, Perforce offers options like proxies and the commit/edge architecture that can enhance performance over a WAN. Compression in the network layer can also help.

P4 Server uses a TCP/IP connection for each client interaction with the server. The server’s port address is defined by `P4PORT`, but the TCP/IP implementation picks a client port number. After the command completes and the connection is closed, the port is left in the TCP `TIME_WAIT` state, typically for two minutes. The port number ranges from `1025` to `32767` (or larger). Therefore, it is possible to occupy all available ports by invoking a P4 Server command many times in rapid succession, such as with a script.

## TCP keepalive

By default, keepalives are enabled if that functionality is supported by the OS. If your network silently drops idle connections, users might experience unexpected connectivity issues. The following P4 Server configurables override the behavior configured in the operating system:

- net.keepalive.count

- net.keepalive.disable

- net.keepalive.idle

- net.keepalive.interval

For a general explanation of keepalive technology, see:

http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html

http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/usingkeepalive.html

## Enable autotune

If you have Linux, setting the `net.autotune` configurable might improve network performance:

`p4 configure set net.autotune=1`

Some operating systems might not work well with this value, so make sure that this setting does not cause P4 Server to hang.

This configurable only affects the P4 Server instance it is set on.

See the details of the net.autotune configurable.

Your search for returned results