You need to enter the internal URLs of all your servers into the system so that the web farm synchronization module knows which servers should be synchronized.
To add a server to the web farm, go to Site Manager -> Administration -> Web farm, click New server and fill in the following fields:
•Server display name - a descriptive name for the server displayed in the administration interface.
•Server code name - a unique code name of the server that will be used in the server's configuration file.
•Server root URL - the URL of the root of the website on the server, such as http://192.168.1.2/KenticoCMS. The availability of the server can be checked by using the Check Server availability () button.
•Server enabled - this checkbox may be used to manually enable or disable web farm synchronization for the server.
Click Save to register the server. Repeat the process for every server in your web farm.
Now you need to update the web.config file on each server and add the following key into the appSettings section, where <servername> is the code name that the system created (or you chose one) for the server.
<add key="CMSWebFarmServerName" value="<servername>"/>
Every server must contain only one such key with its own name.
After you have defined your web farm servers, you need to enable the web farm module itself in the settings. Navigate to Settings -> Versioning & Synchronization -> Web farm and turn on the Enable web farm setting.
Additional low-level settings of web farm synchronization can be done by adding the keys listed in the Web farm synchronization settings section of Appendix B - Web.config parameters into the /configuration/appSettings section of your web.config file.
If synchronization doesn't work as expected, you can check the Tasks tab of the web farm administration interface. Here, you can view information about all currently active (waiting to be processed) synchronization tasks.
Tasks can be filtered using the Server drop‑down list according to the server to which they are assigned, or (all servers) can be selected to show all synchronization tasks in the entire web farm. The Run tasks button can be used to manually execute tasks, regardless of how the synchronization interval is currently configured. The listed tasks can be removed all at once using the Clear task list button, or individually via the Delete () action. Clearing the list is not necessary if the web farm is working correctly, since tasks are removed automatically when successfully processed.
A similar user interface can be found on the Anonymous tasks tab. This tab displays a list of currently active (waiting to be processed) anonymous synchronization tasks. These tasks are logged by external applications (e.g. Windows services) to ensure that changes made by the external application are reflected in the web application cache. Tasks are logged as anonymous only if the application is NOT configured to run in a web farm. If it is configured to run in a web farm, these tasks are logged as standard synchronization tasks on the Tasks tab.
Please be sure to enter an appropriate license key for the internal URL of the server.
E.g. if the web farm servers are used for domain name example.com and you access them internally through URLs like http://192.168.1.2, http://192.168.1.3, etc., you need to enter separate license keys for example.com, 192.168.1.2 and 192.168.1.3 in Site Manager -> Licenses dialog (you need to do that on one server only and restart the other instances using Site Manager -> Administration -> System -> Restart application).
By default, web farm servers are updated with changes made on other servers once per request. Synchronizing this frequently may however be impractical for high‑traffic websites. The synchronization interval can be changed by setting the value of the CMSWebFarmUpdateWithinRequest web.config key to false and using the Synchronize web farm changes scheduled task instead, which has a configurable execution interval.
To do this, go to Site Manager -> Administration -> Scheduled tasks, select (global) from the Site drop-down list at the top of the page, edit () the mentioned task, set an appropriate Task interval, check the Task enabled box and click Save.
The task must also be created for each server in the web farm. To do this quickly, return to the list of scheduled tasks, click New task, fill in the same properties as those of the Synchronize web farm changes task (the Task name must be different) and check the Create tasks for all web farm servers box below the Server name property. Click Save to complete the process. All web farm servers that you wish to use need to be registered in the system before performing this step.
An alternative way of defining web farm servers is letting the system create them automatically on application start. You need to have web farm enabled via a setting or a web.config key on all the servers. Then add the following key
<add key="CMSWebFarmGenerateServers" value="true"/>
or turn on the following setting: Versioning & Synchronization -> Web farm -> Generate servers dynamically.
All servers with enabled web farm support will add themselves into the list of servers in Administration -> Web farm when the application starts. If a server doesn't have a server name defined in the web.config, it uses its machine name.