Ensure content consistency on all nodes

Data caching

Sitefinity’s integration with OpenAccess ORM allows you to benefit from the OpenAccess implementation of Data (Level2) Caching. Data caching provides a mechanism for storing the results of a query to the database in cache and serving them from cache when the same query is executed for that context. This results in faster performance when retrieving data.

You can see the value of the data caching property by opening Administration » Settings » Advanced » Data and checking the EnableDataCaching property.

If the input field is empty, Sitefinity CMS automatically sets this value.

Specify the web server URLs in Sitefinity

Sitefinity’s load balancing feature facilitates handling of the cache invalidation, which is necessary when the application runs in Load Balanced scenario. 

Sitefinity CMS uses web services communication to notify all participating nodes when a content change occurs. This way it is guaranteed, that this content change propagates to all instances in your load balancing setup.

To setup the web server URLs, perform the following:

  1. In Sitefinity’s backend, click Administration » Settings » Advanced Settings » System » LoadBalancing » WebServerUrls » Create new.
  2. Enter the URLs of each of the frontend servers that are part of the load balancing and will be used to access your website.
    The following are examples of URL format:
    • http://webserver1.telerik.com/
    • http://webserver2.telerik.com/
    • You can also directly enter their IP addresses.
      The following are examples of the format of the IPs:
    • http://199.166.0.1/ 
    • http://199.166.0.2/ 

NOTE: In order for the load balancing cache synchronization to work properly, the specified server nodes must be visible and able to message each other. Make sure that your network infrastructure and/or firewall settings allow this

Troubleshooting

If, after you have configured your Sitefinity CMS instances for load balancing, you are experiencing problems with content that is not updating correctly, check the following:
  • After ensuring http communication between the servers, can you access the site on one of the nodes from the other node?
  • Are there any entries in the /App_Data/Sitefinity/Logs/Error.log file related to /Sitefinity/Services/LoadBalancing/SystemWebService.svc
    For example, if your Error.log contains and entry similar to:

    Check the InnerException data for this exception:

    • Iit says:
      Message : The remote server returned an error: (404) Not Found.

      This means that there was a problem accessing the LoadBalancing service on one of the other nodes, and usually indicates a network problem in the nodes visibility. Ensure the nodes can communicate with each other and no firewall is blocking the service.

    • If it says:
      Message : The remote server returned an error: (401) Unauthorized.

      This means that the LoadBalancing service request was not authenticated correctly. This usually indicates incorrectly configured settings of the Security Configuration. Ensure you have followed the instructions correctly.

  • If you are running Sitefinity CMS 5.2 or later, you can also enable additional debugging for the Sitefinity CMS load balancing feature.
    To do this, uncomment the  <sectionGroup name="telerik"> section at the beginning of the file and edit the <sitefinity> section in the following way:

Was this article helpful?