NexJ Logo

Scaling Model Server

At any time, you can scale NexJ Model Server for increased capacity and improved performance. You can add new nodes to your system, use the cluster discovery protocol define how heartbeats are sent from nodes in a cluster, and adjust various server settings to suit your application's needs.

Adding new nodes to an existing system

To add nodes to an existing system:

  • Add the root directories of the nodes to the deployment location. The deployment location is set during NexJ Model Server installation. For more information, see Deploying Model Server.
  • Ensure the Distributed flag for the environment is set to true. For more information, see Deploying Model Server.

  • Update the mod_jk configuration file to include the new node.

If you do not intend to use the default UDP multicast for inter-cluster communication, you can configure the Cluster Manager to use UDP broadcast, UDP unicast, or TCP protocols.

Scaling considerations

You can tune the following settings based on your application requirements and based on the scaling capabilities of your system. Consider the following factors when scaling your NexJ CRM deployment:

  • Number of nodes and the node partition types used.
  • Minimum and maximum values for the JVM heap. 
  • Garbage collection time, which is based on the JDK you are using.
  • The following environment settings:
    • CPU limits
    • Memory thresholds
    • Database connection pool sizes
    • File attachment connection pool sizes
    • Session passivation timeout
    • Maximum number of message senders and message receivers for object queues

You may be able to modify these settings in the environment file, in the modeld.conf file, or in the command line. For more information about how to modify specific types of system properties, see Specifying JVM arguments and system properties.