Basic Sizing Guidelines
The following topic attempts to give you guidelines that you use when planning your environment. Note that you should always allow enough capacity for future growth.
A traditional JSP application server's main task is to serve pages to a great number of concurrent users; Redwood Server on the other hand has relatively few concurrent users and pages to serve. The JEE engine is used to automate background processes and merely allows administrators and operators manage the workflow of processes. Compared to a traditional portal application, Redwood Server uses more back-end threads. A process can consume multiple threads in the application server as preconditions, on status change triggers, actions and status handlers, and/or alerts fire during the lifetime of the process.
The state of the application is stored in the database and on the filesystem; the database is leading. It is not very effective to add multiple cluster nodes that reside on one physical host as this increases the memory footprint as a lot of objects are cached in memory for performance reasons; it may be more efficient to increase the memory allocation of the application server. Also, both application servers will have to remain in sync, this on the other hand will require more threads which are dearly needed for process execution. Finally, java objects that need to be recompiled will have to be recompiled for both application servers.
Cluster nodes on multiple hosts may make sense in very demanding environments, however, you need to take the memory footprint into account. Redwood Server was built with an integrated cluster mechanism named RWM
that is used on Redwood Platform by default when /configuration/boot/cluster/type
is not set to Standalone
. See Configuring Web Application Clusters for High Availability for more information.
Example Production environment
- Up to 25 concurrent users
- up to 100k processes per day
- History of 10m processes
- 1 Mb per 5k process output
- Every concurrent user uses 20Mb RAM
- Average process log size is 10kb
Central Instance
- CPU - 2 Cores @2.0Ghz
- RAM - 8Gb, 4Gb is absolute minimum
- JVM heap should be 4Gb; 2Gb heap absolute minimum
- Disk space - space for installation, upgrades and system process output 200 to 250 Gb
- Database - 300Mb tablespace, more room required for definitions (process definitions, processes ...)
note
The required space depends on whether the database is on the same host as the central Redwood Server.
Platform Agents
- CPU - platform agents run on remote servers. If the OS version is supported by Redwood Server and the OS vendor supports your HW/OS combination, Redwood Server supports it as well.
- Disk space - installation, space for upgrades, processes and process output about 100Gb
Example Test Environment
- Up to 15 concurrent users
- up to 10k processes per day
- History of 10m processes
- 1 Mb per 500 process output
- Every concurrent user uses 20Mb RAM
- Average process log size is 10kb
Central Instance
- CPU - 2 Cores @2.0Ghz
- RAM - 4Gb is absolute minimum
- JVM heap should be 2Gb (absolute minimum)
- Disk space - space for installation, upgrades and system process output 20 to 25 Gb
- Database - 300Mb tablespace, more room required for definitions (process definition, processes ...)
note
The required space depends on whether the database is on the host as the central Redwood Server.
Platform Agents (optional)
- CPU - platform agents run on remote servers. If the OS version is supported by Redwood Server and the OS vendor supports your HW/OS combination, Redwood Server supports it as well.
- Disk space - installation, space for upgrades, processes and process output about 10Gb
onsiteTopic