Load Balancing with Multiple Language Servers

An Acrolinx language server is only capable of processing one check request at a time. By configuring a load-balanced installation, it’s possible to enable simultaneous checks for one language.

A load-balanced installation contains a group of language servers which all share the same language configuration. There’s no recommended number of language servers for a load-balanced installation. The main requirement is that each language server has a dedicated CPU. The number of language servers is limited only by your available hardware resources.

On a Windows installation, there’s no way to change the number of language servers installed after the initial installation.

You can ensure each language server in the group has a dedicated CPU by installing the language servers on a multiprocessor computer.

Once the load-balanced installation is running, the core server monitors the incoming check requests for a given language and distributes the workload to all language servers with the same language configuration.

Language servers can process checks according to their Java Virtual memory allocation. Checks with more content need more memory. The amount of memory required for a check depends on the number of characters in the extracted text. You can see the size limit for each language server in the Dashboard. Go to Servers > Language Server [language ID] > General information > Maximum accepted document size. This shows you the number of extracted characters this language server can accept in a single check.

You can make sure the load balancing is functioning correctly by asking users to run simultaneous checks and monitoring the servers page to ensure the checking statistics are evenly distributed.

Adding Language Servers to Your Installation in a Unix-Based OS

You can increase your processing capacity by adding extra language servers to your installation. You add language servers by running the installer script with a specific option that updates the total number of language servers.

To add language servers to your installation, follow these steps:

  1. Run the installation script with the -addls and -lscount options.

    Command:
    $ cd <INSTALL_DIR> $ bash ./installer.sh -addls -lscount <NUMBER>

    The -lscount option specifies the new total number of language servers. For example, if you have two language servers and want to add two extra language servers, enter the value 4 for the -lscount option.

    Example:

    $ cd /home/acrolinx/acrolinx/ $ bash ./installer.sh -addls -lscount 4

    Additional scripts and configuration files for the new language servers are created in the server/bin directory.

  2. (Optional) Start the new language servers.