Network
Helix Core 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.
Helix Core 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
Helix Core 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 Helix Core Server configurables override the behavior configured in the operating system:
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 Helix Core Server to hang.
This configurable only affects the Helix Core Server instance it is set on.
See the details of the net.autotune configurable.