CPU load balancing
- Last UpdatedJul 26, 2024
- 2 minute read
CPU load balancing for redundant AppEngines can be used to maintain system stability by limiting high CPU usage during AppEngine startup after failover. When CPU usage by a core is close to 100%, other processes can be starved and startup times can extend as a result. When CPU load balancing is enabled, objects are loaded in discrete chunks, thus improving CPU utilization.
Application Server includes a registry key that you can use to configure CPU load balancing for redundant engines. CPU load balancing is disabled by default, and the configuration of each node is independent. That is, you can enable CPU load balancing on some nodes and not on others, and have different settings for each node.
Note: CPU load balancing will only work on run-time nodes with redundant engines.
-
Registry Subtree – 64-bit:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ArchestrA\Framework -
Registry Subtree – 32-bit:
HKEY_LOCAL_MACHINE\SOFTWARE\ArchestrA\Framework -
Registry Key:
EngineFailoverStartup
Subkey entries used for enabling and tuning CPU load balancing are:
|
Subkey name |
Default value |
Description |
|---|---|---|
|
EnableCPUBalancing |
0 |
Turns CPU load balancing on or off (0 = OFF, 1 = ON) |
|
LoadObjectsNumberPerGroup |
50 |
Specifies the number of objects loaded at a time during startup. If set to 0, this function is disabled. |
|
LoadObjectsTimeToSleep |
200 |
Specifies in milliseconds, the time between loading groups of objects (end of load to start of next load). If LoadObjectsNumberPerGroup is 0, sleep is disabled. |
|
FirstScanCycleNumberPerGroup |
25 |
Specifies the number of objects to be initialized during the first scan cycle after failover. If set to 0, this function is disabled. |
|
FirstScanCycleTimeToSleep |
100 |
Specifies in milliseconds, the time between initializing groups of objects (end of first cycle to start of second). If FirstScanCycleNumberPerGroup is 0, sleep is disabled. |