The resources available to the Domino Platform determine how much concurrent work the application can handle. This is the primary capability of Domino that is limited by vertical scale. To increase the capacity, key components must have access to additional CPU and memory.
The default size for the Domino Platform is four nodes, with 32 CPU cores and 128GB memory each. Those resources are available to the collective of Platform services, and each service claims some resources through Kubernetes resource requests.
The capabilities of that default size are shown in the following table, along with options for alternative sizing.
Size | Maximum concurrent executions | Platform specs |
---|---|---|
Default | 300 | 4 nodes with at least 32 CPU cores and 128 GiB memory each. AWS recommendation: 3x m5.2xlarge GCP recommendation: 3x n2-standard-8 Azure recommendation: 3x Standard_D8s_v4 |
Other | Contact your Domino account team if you need an alternative size | Varies |
Domino recommends assuming a baseline maximum number of workloads equal to 50% of the number of total Domino users, expressed as a concurrency of 50%. However, different teams and organizations might have different usage patterns in Domino. For teams that regularly run batches of many executions at once, it might be necessary to size Domino to support a concurrency of 100%, or even 200%.
The following practices can maximize the capabilities of a Platform with a given size.
-
Cache frequently used Domino environments in the AMI used for your Compute Nodes. This reduces load on the Platform Docker registry.
-
Optimize your hardware tiers and node sizes to fit many workloads in tidy groups. Each additional node runs message brokers, logging agents, and adds load to Platform services that process queues from the Compute Grid. The Platform can handle more concurrent executions by running more executions on fewer nodes.
-
Run your workload on many cores of one large node, rather than by chunking tasks into multiple workloads across multiple nodes to parallelize your tasks. This reduces the total number of nodes being managed, and thereby reduces load on the Domino platform.