Sizing QIE HA Node Instances¶
In this article a node instance is a running QIE engine in a high availability cluster. The term does not refer to the mapping, condition, or destination nodes that make up a channel.
When using QIE in a docker environment, the question of sizing the node instances comes up. Sometimes the assumption is that because more instances can run at the same time, each one can be smaller. However, the amount of memory and CPU for each node instance determines the size of messages that can be processed before having problems such as OutOfMemoryExceptions.
If the cluster is needed to process large messages or large batch files, then each node instance must be sized so that any single instance can complete the processing of the message or batch file. In the case of the batch file, the node instance that picks up the file is the one that processes all the records in the batch file.
The amount of memory allocated to each node instance could be looked at as strength. If each instance only has a little memory, then you can have a lot of instances that process little messages, but because node instances do not work together to process any single message, larger messages cause errors on the instance that tries to process it.
Often it is more efficient to have fewer node instances in the cluster with more memory and CPU allocated to each one, than to have a bunch of smaller instances.
Each QIE node instance should be allocated no less than 2GB of memory. You should follow the sizing chart found in the "QIE Installation Guide" when determining the size of each node instance in the cluster.