Sitecore Scalability Setting

Sitecore Scalability setting enable to scale up your sitecore instance. With the use of the Scalability setting, you can setup different servers which can perform task.

Scalability Configuration

The scalability configuration is very simple. Suppose you have different servers which have a sitecore instance installed, you can use the scalability setting to setup a Job server. The purpose of the Job server is to trigger any schedule and publish job. This helps to increase performance of your servers as the jobs will be running on only one servers.

Let us take an example of an Auto-Publish Job which will publish contents to different target database at different interval of time. The auto-publish job should run only on the Job Server. So your scalability setting should be as follows:

On CM servers

<setting name="InstanceName">
<patch:attribute name="value"></patch:attribute>
</setting>

<setting name="Publishing.PublishingInstance">
<patch:attribute name="value">CM1</patch:attribute>
</setting>

The instance name should be blank. The publishing instance should have CM1. Note that you can specify another name in the publishing instance.

On Job server

<setting name="InstanceName">
<patch:attribute name="value">CM1</patch:attribute>
</setting>

<setting name="Publishing.PublishingInstance">
<patch:attribute name="value"></patch:attribute>
</setting>

The instance name should be contain CM1. The publishing instance should be blank. Note that if you change the instance name on the job server, let say for example you have used CM2, on the CM servers, you should use CM2 in the publishing instance.

Once this is setup, you need to have a configuration file that will trigger the jobs only on the job server.

Create a config file and name it z.SwitchToJobServer.config. Store the file in the App_Config/Include folder. In the z.SwitchToJobServer.config file, you need to patch the different agent that you want to run only on the Job Server as shown below:

<scheduling>
<agent name="ExternalPublisher">
<patch:attribute name="interval">02:00:00</patch:attribute>
</agent>
<agent name="InternalPublisher">
<patch:attribute name="interval">00:15:00</patch:attribute>
</agent>
</scheduling>

The file z.SwitchToJobServer.config should be present only on your job server and not on the different CM servers.

3 Comments on “Sitecore Scalability Setting

  1. I have a question on this. Is the instance name a DNS resolvable hostname? Or is it just a variable local to the Sitecore instances/databases? Thanks.

    Like

Leave a comment