Single machine configuration
- Last Updated: September 24, 2025
- 2 minute read
- Corticon
- Documentation
CPUs AND WRAPPERS
For optimal performance, the number of wrappers or Servlets deployed should never exceed the number of CPU cores on the server hardware, minus an allocation to support the OS and other applications resident on the server, including middleware. Typically, the number of these wrappers is controlled via a configuration file.
CcServer.war files are available from the Progress
download site in the PROGRESS_CORTICON_6.3_SERVER.zip
package. The unpackaged files are typically installed in the Corticon directory [CORTICON_HOME]\Server\Containers\WAR. Refer to the Progress Software web
page Corticon Supported Platforms Matrix
to review
the currently supported UNIX/Linux platforms and brands of Application Servers. Also see
the Corticon KnowledgeBase entry
Corticon Server 7.x sample WAR installation
for different Application Servers for detailed instructions on configuring
Corticon Server on all supported platforms. WRAPPERS AND POOLS
The number of wrappers should be greater than or equal to the number of
available CPUs on the server.
By default, the Execution Queue will be configured to match the number of available CPUs
on the machine, but this can be overridden by changing the following Corticon property in the brms.properties file.
This property will be used by the CcServer to determine how many concurrent executions can occur across the CcServer. Ideally, this value will be set to the number Cores on the machine. By default, this value is set to 0, which means the CcServer will auto-detect the number of Cores on the server.
com.corticon.server.execution.processors.available=0
MAXIMUM POOL SIZES
brms.properties file, enter the following line:
com.corticon.server.decisionservice.allocation.enabled=trueThat
sets the allocation property to true, so that the CcServer can control how many incoming
execution threads from each Decision Service will be added to the CcServer’s Execution
Queue. If additional execution threads come into for a particular Decision Service, and
that Decision Service has already allocated its maximum to the Execution Queue, then the
incoming execution thread waits until an execution thread for that Decision Service
leaves the Execution Queue. HYPER-THREADING
Hyper-threading is an Intel-proprietary technology used to improve parallelization of computations (doing multiple tasks at once) performed on PC microprocessors. For each processor core that is physically present, the operating system addresses two virtual processors, and shares the workload between them when possible. Field experience suggests that Hyper-threading does not allow doubling of wrappers or Reactors for a given physical CPU core number. Doubling wrappers or Reactors with the expectation that Hyper-threading will double capacity will result in core under-utilization and poor performance. We recommend setting wrapper and Reactor parameters based on the assumption of one thread per CPU core.