Overview
This topic provides recommendations about your hardware setup, depending on your needs.
"Small group" setup
-
Server OS: See the System Requirements for supported Server OS versions
-
Client OS: See the System Requirements for supported Client OS versions
-
CPU: 4-core Intel Xeon
-
RAM: 16GB +
-
Disk for persistent storage: SAN, RAID, or NAS
-
Disk for temp space: 2-3 independent rotating disks or 1-2 SSD
"Mid group" setup
-
Server OS: See the System Requirements for supported Server OS versions
-
Client OS: See the System Requirements for supported Client OS versions
-
CPU: dual 4-core or 6-core Intel Xeon, latest generation
-
RAM: 32GB - 64GB
-
Disk for persistent storage: SAN, RAID, or NAS
-
Disk for temp space: 3-4 independent rotating disks or 2 SSD
"Large group" setup
-
Server OS: See the System Requirements for supported Server OS versions
-
Client OS: See the System Requirements for supported Client OS versions
-
CPU: dual 8-core or 8-core Intel Xeon, latest generation
-
RAM: 64GB - 128GB
-
Disk for persistent storage: SAN, RAID, or NAS
-
Disk for temp space: 4-8 independent rotating disks or 3-4 SSD
General Notes
CPU performance
We prefer Intel over AMD, because we find the performance to be better; we've not benchmarked the relative performance, of say, a 12-core Opteron vs. a 6-core Xeon.
Regarding disk for temporary space
Use SSD if possible. As of this date we recommend the following SSDs for temporary disk:
-
Intel 520 series
-
Samsung 830 series
-
Corsair Neutron series
"Enterprise-class SSDs" are overkill for the purpose of temporary storage and are much more expensive. You may combine SSDs with larger/cheaper rotating media. If you do so, specify an "access" value of 4 for the SSD and 1 for the rotating media; this will preferentially use the SSD until it starts to fill.
Using rotating media for temp space
-
More volumes are better.
-
Multiple "dumb" disks are preferred over fewer redundant volumes.
-
Configure each disk as a separate drive letter (on Windows) or mount point (on Linux).
-
7200rpm SATA drives perform OK, but 15k SAS is faster.
-
If temp spaces are allocated as SAN volumes, they should not share any physical disk spindles.
-
We find that RPDM runs well on two-socket (8-to-12 core) systems, and recommend adding hardware in those increments, as it is a good price/performance ratio.
-
We also have customers using RPDM under VMware on virtualized systems, which gives them flexibility to easily upgrade CPU core and RAM allocation, and that also works well.
-
Because RPDM is networked, you can add additional Execution Servers to the same Site Server, and all Execution Servers will share metadata.
Performance tips and memory settings
-
For CPU-intensive tasks like CASS, more and faster CPU cores will improve throughput.
-
CASS and Geocoding need at least 2GB per running project, in addition to memory normally used for sorting, joining, etc.
-
For disk-intensive tasks like ETL, sorting, joining, summarizing, etc., more/faster temporary disk spaces will improve throughput, especially using SSD for temp space.
-
For record-matching and other "hybrid" tasks, both CPU and temporary disks are important.
-
Usually, set your projects to use as many "tool threads" as there are CPU cores.
-
Recommended memory per simultaneous project to be run:
-
Without CASS or Geocoding: 2GB minimum
-
With CASS or Geocoding: 3GB minimum.
-
For 100MM+ records in batch: add 2GB.
-
For multiple instances of CASS, Geocoder, SERP, etc.: add 1GB.
-
More/larger data sets and complex projects will benefit from additional memory
-