Table of Contents

Sizing Guideline

This guide provides recommendations for Windows Server resource sizing when deploying XMPro.

Overview

Small, medium, and large sizing estimates are provided. The small option starts with the minimum recommended resources and, generally, each subsequent size doubles the number of CPU cores and available RAM. Not all components experience the same increase in load, so the estimates may not increase at the same rate for all components.

Many factors influence the number of Apps and Data Streams a deployment can effectively run. These factors include:

  • the number of data streams,
  • how frequently the streams process data,
  • the size of the data payload,
  • the number of recommendations to be monitored,
  • the number of apps and event boards being served,
  • the complexity of apps and event boards (the number of elements and integration points),
  • and the number of concurrent users accessing the apps and event boards.

As a rough guide, an example workload for a Medium-sized deployment would be:

  • ~200 Data Streams running across
  • ~15 Stream Hosts,
  • serving data and triggering recommendations for ~10 Apps

Windows Server Sizing

Component Small Medium Large
Subscription Manager (SM)
1
2 CPU
8GB RAM
2 CPU
8GB RAM
4 CPU
16GB RAM
Application Designer (AD)

2 CPU
8GB RAM
4 CPU
16GB RAM
8 CPU
32GB RAM
Data Stream Designer (DS)

2 CPU
8GB RAM
4 CPU
16GB RAM
8 CPU
32GB RAM
Stream Host Server (SH)
2,3
2 CPU
8GB RAM
4 CPU
16GB RAM
8 CPU
32GB RAM
SQL Database Server
(Combined for SM, AD, DS)
4
2 CPU
8GB RAM
4 CPU
16GB RAM
8 CPU
32GB RAM
Note

Footnotes

1 High volumes of concurrent users may require additional compute.

2 Multiple Stream Hosts can be deployed to the Stream Host Server.

3 If the Stream Host needs more resources, consider increasing the RAM before adding additional CPU cores as Stream Hosts perform in-memory processing of events.

4 High volumes of recommendations may require additional compute and storage.

Single-Server vs Multi-Server Deployment

For smaller deployments, all XMPro components can run on a single server. For medium to large deployments, consider distributing components across multiple servers:

Deployment Size Recommended Configuration
Small Single server with all components (minimum 8 CPU, 32GB RAM)
Medium Separate application server and database server
Large Dedicated servers for each component with database cluster

Default Configuration

The Windows Server installer deploys all XMPro products to a single IIS server by default. This configuration is suitable for:

  • Development and evaluation workloads
  • Small production deployments
  • Proof-of-concept environments

For production deployments with higher workloads, consider the Multi-Server Deployment guide.

Additional Considerations

Virtual Machine Sizing

When running XMPro on virtual machines (VMware, Hyper-V, etc.), ensure:

  • CPU resources are not over-committed
  • Memory is dedicated (not ballooned or shared)
  • Storage uses SSD or high-performance disks
  • Network has low latency to the database server

SQL Server Requirements

The SQL Server sizing recommendations assume:

  • SQL Server 2022 Standard Edition or higher
  • Mixed Mode authentication enabled
  • Dedicated SQL Server instance (not shared with other applications)

For high-availability deployments, consider SQL Server Always On Availability Groups.


Last modified: May 01, 2026