Memory and CPU Requirements

The following recommendations assume a mail server that is processing a volume of approximately 120,000 messages per hour.

For handling extremely large volumes of mail, you can get very good scalability by increasing the number of central processing units (CPUs) on the PureMessage server and by running different filters on separate PureMessage servers.

Minimum Configuration

This configuration is suitable for testing or for sites with very low email volume.

  • CPU (Solaris): Sparc 2 x 1GHz or higher UltraSPARC III or equivalent
  • CPU (Linux): 1 x 2GHz Intel Pentium 4 or equivalent
  • Memory: 2 GB RAM
  • Network: 100 Mb
  • DNS: A server on the same network as PureMessage and at least one backup server with identical configuration (to avoid delays in mail delivery due to administrative stoppages).
  • OS: A supported operating system as described in the “Supported Platforms” section.

Recommended Configuration

  • CPU: 2 x 3GHz Intel Xeon or better
  • Memory: 4 GB RAM with Postfix; 4 GB RAM with Sendmail
  • Network: 100 Mb or better
  • Disk: Ultra Wide SCSI/Ultra ATA100 RAID0 or better
  • DNS: Two servers on the same subnet as PureMessage capable of 10-50ms lookups with equal MX priority (plus two or more identically configured backup servers).
  • OS: In addition to the minimal configuration described above, full SMP support in OS; scalable pthreads implementation built on kernel threads or light-weight processes.

The per-process defaults or kernel parameters should be tuned so that the pmx process is able to access at least the following resources:

  • 1024 file descriptors (or >= 10x concurrency_limit)
  • 1024 open files (or >= 10x concurrency_limit)
  • 256 threads per process (or >= 1.5x concurrency_limit)
  • 16 MB maximum process stack segment size
  • unlimited maximum process data segment size
  • unlimited memory addressable by process

Many of the settings described above can be adjusted using the ulimit command. Some will need adjustment of kernel parameters, and a recompiled kernel on some systems.