<commit_before>// Module included in the following assemblies:
//
// * scalability_and_performance/recommended-host-practices.adoc
// * post_installation_configuration/node-tasks.adoc

[id="master-node-sizing_{context}"]
=  Control plane node sizing

The control plane node resource requirements depend on the number of nodes in the cluster. The following control plane node size recommendations are based on the results of control plane density focused testing.

[options="header",cols="3*"]
|===
| Number of worker nodes |CPU cores |Memory (GB)

| 25
| 4
| 16

| 100
| 8
| 32

| 250
| 16
| 96

|===

[IMPORTANT]
====
Because you cannot modify the control plane node size in a running {product-title} {product-version} cluster, you must estimate your total node count and use the suggested control plane node size during installation.
====

[NOTE]
====
In {product-title} {product-version}, half of a CPU core (500 millicore) is now reserved by the system by default compared to {product-title} 3.11 and previous versions. The sizes are determined taking that into consideration.
====<commit_msg>Specify the load tested during Perf/scale runs<commit_after>// Module included in the following assemblies:
//
// * scalability_and_performance/recommended-host-practices.adoc
// * post_installation_configuration/node-tasks.adoc

[id="master-node-sizing_{context}"]
=  Control plane node sizing

The control plane node resource requirements depend on the number of nodes in the cluster. The following control plane node size recommendations are based on the results of control plane density focused testing. The control plane tests create the following objects across the cluster in each of the namespaces depending on the node counts:

- 12 image streams
- 3 build configurations
- 6 builds
- 1 deployment with 2 pod replicas mounting two secrets each
- 2 deployments with 1 pod replica mounting two secrets
- 3 services pointing to the previous deployments
- 3 routes pointing to the previous deployments
- 10 secrets, 2 of which are mounted by the previous deployments
- 10 config maps, 2 of which are mounted by the previous deployments


[options="header",cols="4*"]
|===
| Number of worker nodes |Cluster load (namespaces) | CPU cores |Memory (GB)

| 25
| 500
| 4
| 16

| 100
| 1000
| 8
| 32

| 250
| 4000
| 16
| 96

|===

[IMPORTANT]
====
Because you cannot modify the control plane node size in a running {product-title} {product-version} cluster, you must estimate your total node count and use the suggested control plane node size during installation.
====

[NOTE]
====
In {product-title} {product-version}, half of a CPU core (500 millicore) is now reserved by the system by default compared to {product-title} 3.11 and previous versions. The sizes are determined taking that into consideration.
====
{'fraction_non_alphanumeric': 0.08365966536133855, 'fraction_numerical': 0.02741189035243859, 'mean_word_length': 4.564356435643564, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1761027', 'n_tokens_mistral': 817, 'n_tokens_neox': 726, 'n_words': 363}