Scaling and configuring xDB Processing
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.
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 option |
Supported |
Notes |
---|---|---|
Combined instance |
Yes |
The 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, xDB Reporting, and EXM Dispatch. This setup is not recommended in production. |
Standalone instance |
Yes |
You can deploy xDB Processing as a standalone role. |
High availability and failover |
Yes |
Multiple 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 distribution |
Yes |
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.
In a developer environment, you can combine all Core roles into a single instance. This includes Content Management, Content Delivery, xDB Processing, xDB Reporting, and EXM Dispatch. We do not not recommended this setup in a production environment.
Performance tuning tasks
Consider the following performance tuning options:
-
You can increase the Reference Data service cache entry lifetime to improve processing performance. The cache is enabled by default and cannot be cleared, and you must balance performance against data freshness.
Security configuration tasks
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:
Topology |
Web Deploy Packages |
Description |
---|---|---|
XP Single |
|
Processing role is bundled with all other XP service roles. |
XP Scaled |
|
Standalone instance of the Processing role service. |
Sitecore Azure Toolkit
The xDB Processing role is available in the following default topologies for SAT:
Topology |
Web Deploy Packages |
Description |
---|---|---|
XP Single |
|
The Processing role is bundled with all other XP service roles. |
xDB Single | ||
XP Scaled |
|
Standalone instance of the Processing role. |
xDB Scaled |