Hardware for IPLM package installation

Understand the hardware deployment options for package-based installations. Perforce IPLM can be deployed either on its own or on the same machine as a Perforce commit server with replicated edge servers at remote sites. The Perforce IPLM server is heavily threaded and benefits from a high number of cores. The version control system generates significant IO and benefits from high performance local storage for the database, high performance SAN for the versioned files and a 10GbE network connection. The example configurations are divided by how many users are supported and by whether PiServer will be deployed on the same machine as a Perforce server. 

For large deployments it is recommended to deploy Perforce IPLM on a separate machine than the DM server.

PiServer performance example

IPLM Server uses an efficient design to reduce hardware load. Much of the scale is achieved using parallelism, which is in turn enabled using multi-core machines. For this reason we recommend a minimum of 8 cores and 32GB memory on the host machine.

In the below VMware examples we can see that the host machine is very lightly loaded. For reference this customer environment uses 3K IPs, several hundred users consuming anywhere from 2-50GB workspaces

Central Server

Combined Perforce IPLM/Perforce central server. See PiServer Administration page for more information on IPLM Cache. See new Perforce Administration page for more information on Perforce.

Central Server, option 1 (500 users)

CPU 16 core Xeon
Memory 64GB
Networking 10GbE preferred / minimum 1GbE

Storage Type Service Target
250GB Local PCIe NVMe Perforce IPLM Server database files
500GB Local PCIe NVMe Version Control database files
1TB SAN Version Control versioned files
2TB NAS Perforce IP Cache server IP Cache files

Central Server, option 2 (1000 users)

CPU 16 core Xeon (dual socket)
Memory 64GB
Networking 10GbE preferred / minimum 1GbE

Storage Type Service Target
500GB Local PCIe NVMe Perforce IPLM Server database files
1TB Local PCIe NVMe Version Control database files
2TB SAN Version Control versioned files
4TB NAS Perforce IP Cache server IP Cache files

Central Server, option 3 (1500 users)

CPU 16 core Xeon (dual socket)
Memory 128GB
Networking 10GbE preferred / minimum 1GbE

Storage

Type

Service Target
1.5TB Local PCIe NVMe Version Control database files
750GB Local PCIe NVMe Perforce IPLM Server database files
3TB SAN Version Control versioned files
6TB NAS Perforce IP Cache server IP Cache files

Edge Server

Edge server (Perforce only) to serve remote sites, paired with Central Server above.

Edge Server, option 1 (500 users)

CPU 16 core Xeon
Memory 32GB
Networking 10GbE recommended / minimum 1GbE

Storage Type Service Target
500GB Local PCIe NVMe Version Control database files
1TB SAN Version Control versioned files
2TB NAS Perforce IP Cache server IP Cache files

Edge Server, option 2 (1000 users)

CPU 16 core Xeon
Memory 32GB
Networking 10GbE preferred / minimum 1GbE

Storage Type Service Target
1TB Local PCIe NVMe Version Control database files
2TB SAN Version Control versioned files
4TB NAS Perforce IP Cache server IP Cache files

PiServer + Perforce Combo VM (under 100 users)

For small customer deployments of up to 100 users it can be OK to use a single VM for both Perforce and Perforce IPLM services. Note that this assumes a relatively light workload for Perforce, high IO rates can cause PiServer slowness

100 users CPU 8 core Xeon

Memory 32GB

Networking 10GbE preferred / minimum 1GbE

Storage 500GB Local PCIe NVMe Neo4j Service Local Neo4j db files
500GB Local PCIe NVMe Perforce Service Local Perforce db files*

*The versioned Perforce files should be kept on separate NFS mounted storage, only the Perforce database files should be kept locally on the VM

Dedicated PiServer VM

Assumes 200 human users with typical interactive work flows, automated-heavy flows (Jenkins based CI) will require more resources and should be discussed with Perforce. See PiServer Administration section for more information on PiServer.

200 users CPU 8 core Xeon

Memory 16-24GB

Networking 10GbE preferred / minimum 1GbE

Storage 500GB Local PCIe NVMe Neo4j Service Local Neo4j db files




500 users CPU 8-16 core Xeon

Memory 32GB

Networking 10GbE preferred / minimum 1GbE

Storage 1TB Local PCIe NVMe Neo4j Service Local Neo4j db files




1000+ users CPU 16-32 core Xeon

Memory 64GB

Networking 10GbE preferred / minimum 1GbE

Storage 1TB Local PCIe NVMe Neo4j Enterprise Service Local Neo4j db files

Notes:

  1. The PiServer machine should use local storage or SAN. NFS mounted storage is not recommended due to performance degradation
  2. PiServer is often deployed as a Virtual Machine as long as the storage requirements above can be accommodated. Contact Perforce for access
  3. When using Neo4j Enterprise, the more high-frequency cores and memory, the better. This will be the primary request throughput limitation.
  4. When DB throughput becomes an issue, please deploy neo4J in an HA cluster; the stack (piserver + DB) scales horizontally.
  5. When provisioning in the cloud, add 25% compute capacity to make up for the overhead. 

IPLM Cache Server (VM)

Suggested hardware for IPLM Cache dedicated server. See IPLM Cache administration for more information on IPLM Cache.

CPU 16 core Xeon
Memory 32-64GB
Networking 10GbE recommended / minimum 1GbE

Storage
Type
Service
Target
Notes
500GB/1TB

Local SSD

RAID1

Service daemons (redis/mongodb/picache) database files
2TB* NAS
IPLM Cache shared files

Dependent on the number of IPV's in the system, the amount of data and the effectiveness of deduplication on the filer