Scaling and configuring xDB Processing

Version:

xDB Processing roles analyse and aggregate collected data to make it usable for reporting purposes. You can or configure multiple xDB Processing instances to meet your scaling requirements.

Warning

Processing servers do not handle direct requests. Ensure that you use Application Initialization so you can successfully start the Processing role after you recycle the application pool.

If you do not do this, the Processing role will not be launched and its application pool may shut down due to inactivity.

Installation

Use the Sitecore Installation Framework (SIF) or the Sitecore Azure Toolkit (SAT) to install the xDB Processing role. Refer to the installation guide for your version of the platform for more information.

Scaling the xDB Processing role

The following table describes the ways you can scale the xDB Processing role:

Scaling optionSupportedNotes
Combined instanceYesThe following combinations are supported:

Note

In a developer environment, all core roles can be combined into a single instance. This includes

Content Management, Content Delivery, xDB Processing, and EXM Dispatch. This setup is not recommended in production.
Standalone instanceYesYou can deploy xDB Processing as a standalone role.
High availability and failoverYesMultiple xDB Processing instances can process tasks in parallel from the Processing Pool and Processing Tasks databases. Load balancing is not required. All instances write to a single centrally located xDB Reporting database.

In most cases, the xDB Processing role does not require load balancing. However, the Content Management role uses a connection to a service end point hosted on the xDB Processing role to trigger a rebuild of the reporting database. You can choose to put multiple xDB Processing instances behind a load balancer to ensure that the Content Management role always has a connection to xDB Processing. Both instances can be active.
Horizontal scaling for load distributionYes

The following general recommendations apply to all scaling scenarios:

  • Deploy the xDB Processing role as close as possible to the xDB Reporting and Reference Data databases, and the xConnect Collection service. These databases and services are used during history processing and aggregation.
Note

In a developer environment, you can combine all Core roles into a single instance. This includes Content Management, Content Delivery, xDB Processing, and EXM Dispatch. We do not not recommended this setup in a production environment.

Performance tuning tasks

Consider the following performance tuning options:

Security configuration tasks

Refer to the xDB Processing section of the Security guide.

General configuration tasks

The following general configuration tasks apply to the xDB Processing role:

Default topologies and packages

The following tables list the topologies that include the xDB Processing role and how the role is packaged by default.

Sitecore Installation Framework

The xDB Processing role is available in the following default topologies for SIF:

TopologyWeb Deploy PackagesDescription
XP SingleSitecore 10.X.X rev. XXXXXX (OnPrem)_single.scwdp.zipProcessing role is bundled with all other XP service roles.
XP ScaledSitecore 10.X.X rev. XXXXXX (OnPrem)_prc.scwdp.zipStandalone instance of the Processing role service.

Sitecore Azure Toolkit

The xDB Processing role is available in the following default topologies for SAT:

TopologyWeb Deploy PackagesDescription
XP SingleSitecore 10.X.X rev. XXXXXX (Cloud)_xp0xconnect.scwdp.zipThe Processing role is bundled with all other XP service roles.
xDB Single
XP ScaledSitecore 10.X.X rev. XXXXXX (Cloud)_xp1cortexprocessing.scwdp.zipStandalone instance of the Processing role.
xDB Scaled
If you have suggestions for improving this article, let us know!