Perforce Server Requirement

Administering Perforce: Superuser Tasks // Perforce Server

The Helix Server is pretty thrifty on CPU resources. Available memory and disk performance are more likely to be possible bottlenecks.

The Helix Server employs a forking process model on Unix variants or a threading process model on Windows. Each Helix client command is executed in its own process or thread. This process model will take advantage of a system with multiple CPU cores. When considering CPU clock speed, faster clock speeds reduce locking time on critical system resources during complex operations.


Server performance is highly dependent upon having sufficient memory. We suggest the following formula to approximate your server's memory requirements. This calculation is a conservative estimate and does not account for all possible usage patterns. It may not satisfy performance expectations in all cases.

1.5 KB

Two bottlenecks are relevant in memory utilization. The first bottleneck can be avoided by ensuring that the server does not page when it runs large queries and the second by ensuring that the db.rev table (or at least as much of it as practical) can be cached in main memory:

  • Determining memory requirements for large queries is fairly straightforward: the server requires about 1 kilobyte of RAM per file to avoid paging; 10, 000 files will require 10 MB of RAM and so on.
  • To cache db.rev, the size of the db.rev file in an existing installation can be observed and used as an estimate. New installations of Helix can expect db.rev to require about 150-200 bytes per revision, and roughly three revisions per file, or about 0.5 kilobytes of RAM per file.

Thus, if there are 1.5 kilobytes of RAM available per file, or 150 MB for 100, 000 files, the server does not page, even when performing operations involving all files. It is still possible that multiple large operations can be performed simultaneously and thus require more memory to avoid paging. On the other hand, the vast majority of operations involve only a small subset of files.

For most installations, a system with 1.5 kilobytes of RAM per file in the depot suffices.

Please Note: For the purposes of the above equations, lazy copies factor in. If a file has been branched twice, you have two lazy copies and one "real" copy. You'd count "3" as the number of files in this case.

Microsoft Virtualization with Hyper-V: Manage Your Datacenter with Hyper-V, Virtual PC, Virtual Server, and Application Virtualization (Network Professional's Library)
Book (McGraw-Hill Education)
Cengage Learning Student Resource Center for EC-Council's Virtualization Security, 1st Edition
Courseware (Cengage Learning)
  • ISBN: 978311346
  • Access to this product is valid for 180 days after initial login. After this period, this product can be viewed under the view expired link in your CengageBrain...
ViewSonic ViewSonic SC-T45_BK_US_0 Thin Client PC
Personal Computer (ViewSonic)
  • Thin Client for Virtualized Computing
  • Dual 1080p Video Output (DVI + VGA)
  • Supported VDI Protocols include Citrix ICA/HDX 13.1, VMware, View 5.0.1 and Microsoft RDP 8.0 with RemoteFX
Global Access Surveillance Deploying and Managing Microsoft Desktop Virtualization (High Definition)
DVD (Global Access Surveillance)
  • Managing and deploying Microsoft Desktop Virtualization
  • Benefits of Desktop Virtualization
  • Managing Multi-Operating Systems
  • Securing Desktop Virtualization
  • Troubleshooting and Maintaining Desktop Virtualization
Linux: Linux Command Line, Cover all essential Linux commands. A complete introduction to Linux Operating System, Linux Kernel, For Beginners, Learn Linux in easy steps, Fast!: A Beginners Guide!
eBooks ()

Related posts: