Resource Allocation in a Production Environment

Learn how to allocate RAPCache database CPU resources within a production environment.

Consider a RAP system where all of these activities are being executed concurrently:

Example setup scenario
Activity RAPCache database execution classes Ideal CPU/engine resource allocation
A publisher is continuously transmitting market data, which is loaded into the RAPCache and RAPStore databases. The data is stored in a four-way round-robin-partitioned table in the RAPCache database. This activity requires one user-defined execution class. Four dedicated engines, one per partition.
A real-time market data analysis application, a derived-data generation application, and a derived-data modification application. The three activities periodically query the RAPCache database to obtain results. Each activity requires one user-defined execution class. One dedicated engine for each user-defined execution class.
The generated derived-data is stored in a four-way round-robin-partitioned table in the RAPCache database. This activity requires one user-defined execution class. One dedicated engine.
Transfer rules are defined in the system to periodically transfer derived-data from the RAPCache database to the RAPStore database. This activity requires three user-defined execution classes. One dedicated engine for each user-defined execution class.
Truncation rules periodically remove market and derived-data from the RAPCache database. This activity requires one user-defined execution class, as well as the user-defined classes created for derived-data transfer. Four dedicated engines, one per partition.

The total number of engines the RAPCache database requires for all these activities is 14. However, if only 6 engines are available, distribute the limited resources amongst the activities to achieve optimal system performance.