CPU
CPU resource consumption can increase due to factors such as:
- complexity in the protections table
- compression and decompression
- lockless reads in some situations, although lockless reads are generally better for performance than file locking (see db.peeking)
When considering a CPU choice, we recommend the maximum clock rate that is available on the number of cores required for your typical workload. For detailed guidance for your typical workload, contact Helix Core Consulting.
Faster processors and memory in the machine where
p4d
executes might result in faster execution of
p4d
commands. Because portions of some commands acquire
and hold resources that might block other commands, it is important that
these portions of the commands execute as fast as possible. Some p4d
commands have a compute phase during which
shared locks are acquired and held on some of the db.*
files. A shared lock on a db.*
file blocks an operation
that writes to the same db.*
file. If the data needed for a
command’s compute phase is cached within the operating system’s
filesystem cache, only the processor and memory speed constrains the
compute phase. Given the list of Commands implementing lockless reads, speeding
commands through the server with a fast CPU might not be as critical from a concurrency
point of view. Many commands can run concurrently through
the
Helix Core Server, so more CPU
cores might be better utilized.
The complexity of the site’s protections table and of client views can
affect CPU requirements. You can monitor CPU utilization using OS
utilities such as top
(on Linux and Unix) and
perfmon
(on Windows). Installations with high CPU
utilization on the machine where p4d
executes that
are already using fast processors might need more processors or
processors with more cores.
If you are using SSL to secure client-server connections, choose a CPU that supports the AES instruction set. Helix Server normally uses AES-256 to encrypt its SSL connections, so using a CPU that supports AES will minimize the encryption overhead.