ACUSERVER_MASTER_SERVER

This variable is used for load-balancing in environments with multiple instances of the acuserve daemon/service. One instance of acuserve is designated the master, or primary, server. This primary server is responsible for distributing client requests among the available acuserve daemons. Note that you must start the daemon designated as the primary server before you start any secondary servers.

After a primary server is specified, you can start other acuserve instances as secondary, or slave, servers. Instances of acuserve that are configured as secondary servers register with the primary server to indicate that they are ready to allow connections. When a secondary server shuts down, it notifies the primary server that it is no longer available for client requests.

If the master server dies unexpectedly, the -register command can be used to re-register the secondary or subordinate servers with a newly started master server. This avoids having to shut down and restart the entire system. See Registering Servers for more information.

In the following example, the primary server resides on a server called jupiter and listens at port 4331.

ACUSERVER_MASTER_SERVER jupiter.mycompany.com:4331

Note that you must specify a fully qualified domain name for your server.

If this value appears in the configuration files for all instances of acuserve in the environment, the primary server both manages communication with secondary servers and serves files itself.

To create a primary server that performs only load-balancing services, do not specify a value for ACUSERVER_MASTER_SERVER in the configuration file for the primary server. Configuration files for the secondary servers must still contain the machine name and port of the primary.

To configure the client machines to take advantage of the server load balancing, set the FILE_PREFIX and ACUSERVER_PORT runtime configuration variables to point to the instance of acuserve designated as the primary server. On the server side, set FILE_PREFIX to local file locations in the configuration file(s) used by the secondary servers.

When a client connects to the server, it first communicates with the primary server, which determines which secondary is least busy. Then the primary server passes the client connection to a secondary server, and all further communication occurs between the client and the secondary server, without further involvement of the primary server.

To determine which secondary server is least busy, the client considers the following criteria in the following order:

  1. Percentage of idle time in the last 15 minutes
  2. Number of active users
  3. Number of open files
  4. If all other factors are equal, registration order