Perforce aka Helix is built to handle distributed development in a wide range of network topologies. Perforce Proxy (P4P) provides fast, local access to versioned files at remote sites. With P4P, remote users can quickly access versioned content.
The Perforce Proxy aka Helix Proxy is a free caching server that can be deployed to accelerate file access operations between locations with limited network resources. When a user performs a sync to their local machine, or a submit to the Perforce server, the proxy caches the repository files at the remote office so they don’t have to be transferred to and from the central server on every operation.
P4P stores file revisions only when one of its users submits a new revision to the depot or requests an existing revision from the depot. That is, file revisions are not prefetched. Performance gains from P4P occur only after file revisions are cached.
In this above image, file revisions requested by users at a remote development site are fetched first from a central Helix Core server (p4d running on central) and transferred over a relatively slow WAN. Subsequent requests for that same revision, however, are delivered from the Helix Proxy, (p4p running on outpost), over the remote development site’s LAN, reducing both network traffic across the WAN and CPU load on the central server.s
Downloading and Installing The Perforce Proxy aka Helix Proxy p4p
- Download the p4p executable to the machine on which you want to run the proxy.
- Select a directory on this machine (P4PCACHE) in which to cache file revisions.
- Select a port (P4PORT) on which p4p will listen for requests from Perforce applications.
- Select the target Perforce server (P4TARGET) for which this proxy will cache.
Running P4P The Perforce Proxy aka Helix Proxy
$ p4p -p tcp64:[::]:1999 -t central:1666 -r /var/proxyroot
Verifying P4P The Perforce Proxy aka Helix Proxy
$ export P4PORT=tcp:outpost:1999 $ p4 info