Considering a request with 100 documents of medium complexity, the following requirements are recommended for each server / virtual machine:
- 2 CPU x 4 Cores / 1CPU x 8 Cores XEON @ 3 GHZ
- 16 GB of RAM
- 100 GB disk space
Optimally, production servers should utilize multiple Cores/CPUs with at least 1GB of RAM per core, but we recommend 2GB of RAM per Core.
In addition, it is highly desirable to use Dual or Quad CPU server class machines. That is because the XSL-FO formatting engine that is included is able to process a document on more than one CPU, if available.
However, keep in mind that the optimum requirements are specific for each customer, because hardware optimality is given by your throughput (pages/second) requirements.
The best way to make the correct settings for your machine is to measure the current throughput and scale the hardware to reach the desired target. To determine the current throughput, please run a benchmark with your input documents varying in complexity from simple to intricate.
Below are some hints related to CPU cores to help you:
- By doubling the number of cores, the throughput should be doubled.
Example: for a four-core machine, two documents can be processed in parallel. For an eight-core machine, four documents can be processed in parallel.
- For an X-core machine, X/2 documents can be processed in parallel. This is because each request runs on two cores.
- As for the RAM memory, the following rule applies for XFR scalability:
* As you double the number of cores the memory footprint doubles.
* Example: for a four-core machine and two documents rendered in parallel, the footprint is X; for an eight-core machine and four documents rendered in parallel, the footprint is 2X.