You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Performance Profile Creator (PPC) is a command-line tool, delivered with the Node Tuning Operator, used to create the performance profile.
10
-
The tool consumes `must-gather` data from the cluster and several user-supplied profile arguments. The PPC generates a performance profile that is appropriate for your hardware and topology.
9
+
The Performance Profile Creator (PPC) is a command-line tool, delivered with the Node Tuning Operator, that can help you to create a performance profile for your cluster.
11
10
12
-
The tool is run by one of the following methods:
11
+
Initially, you can use the PPC tool to process the `must-gather` data to display key performance configurations for your cluster, including the following information:
13
12
14
-
* Invoking `podman`
13
+
* NUMA cell partitioning with the allocated CPU IDs
14
+
* Hyper-Threading node configuration
15
15
16
-
* Calling a wrapper script
16
+
You can use this information to help you configure the performance profile.
17
+
18
+
.Running the PPC
19
+
Specify performance configuration arguments to the PPC tool to generate a proposed performance profile that is appropriate for your hardware, topology, and use-case.
20
+
21
+
You can run the PPC by using one of the following methods:
22
+
23
+
* Run the PPC by using Podman
24
+
25
+
* Run the PPC by using the wrapper script
26
+
27
+
[NOTE]
28
+
====
29
+
Using the wrapper script abstracts some of the more granular Podman tasks into an executable script. For example, the wrapper script handles tasks such as pulling and running the required container image, mounting directories into the container, and providing parameters directly to the container through Podman. Both methods achieve the same result.
= Creating a machine config pool to target nodes for performance tuning
8
+
9
+
For multi-node clusters, you can define a machine config pool (MCP) to identify the target nodes that you want to configure with a performance profile.
10
+
11
+
In {sno} clusters, you must use the `master` MCP because there is only one node in the cluster. You do not need to create a separate MCP for {sno} clusters.
12
+
13
+
.Prerequisites
14
+
15
+
* You have `cluster-admin` role access.
16
+
* You installed the OpenShift CLI (`oc`).
17
+
18
+
.Procedure
19
+
20
+
. Label the target nodes for configuration by running the following command:
= Gathering data about your cluster using the must-gather command
7
+
= Gathering data about your cluster for the PPC
8
8
9
9
The Performance Profile Creator (PPC) tool requires `must-gather` data. As a cluster administrator, run the `must-gather` command to capture information about your cluster.
10
10
11
11
.Prerequisites
12
12
13
13
* Access to the cluster as a user with the `cluster-admin` role.
14
-
* The OpenShift CLI (`oc`) installed.
14
+
* You installed the OpenShift CLI (`oc`).
15
+
* You identified a target MCP that you want to configure with a performance profile.
15
16
16
17
.Procedure
17
18
18
-
. Optional: Verify that a matching machine config pool exists with a label:
The command creates a folder with the `must-gather` data in your local directory with a naming format similar to the following: `must-gather.local.1971646453781853027`.
48
29
49
30
. Optional: Create a compressed file from the `must-gather` directory:
50
31
+
51
32
[source,terminal]
52
33
----
53
-
$ tar cvaf must-gather.tar.gz must-gather/
34
+
$ tar cvaf must-gather.tar.gz <must_gather_folder> <1>
54
35
----
36
+
<1> Replace with the name of the `must-gather` data folder.
= How to run podman to create a performance profile
7
-
7
+
// Is this example required for a specific reason?
8
8
The following example illustrates how to run `podman` to create a performance profile with 20 reserved CPUs that are to be split across the NUMA nodes.
9
9
10
10
Node hardware configuration:
@@ -18,7 +18,7 @@ Run `podman` to create the performance profile:
|Name for MCP; for example, `worker-cnf` corresponding to the target machines.
16
+
17
+
| `must-gather-dir-path`
18
+
| The path of the must gather directory.
19
+
20
+
This argument is only required if you run the PPC tool by using Podman. If you use the PPC with the wrapper script, do not use this argument. Instead, specify the directory path to the `must-gather` tarball by using the `-t` option for the wrapper script.
21
+
22
+
| `reserved-cpu-count`
23
+
| Number of reserved CPUs. Use a natural number greater than zero.
24
+
25
+
| `rt-kernel`
26
+
| Enables real-time kernel.
27
+
28
+
Possible values: `true` or `false`.
29
+
30
+
|===
31
+
32
+
.Optional Performance Profile Creator arguments
10
33
[cols="30%,70%",options="header"]
11
34
|===
12
35
| Argument | Description
13
36
14
37
| `disable-ht`
15
-
a|Disable hyperthreading.
38
+
a|Disable Hyper-Threading.
16
39
17
40
Possible values: `true` or `false`.
18
41
19
42
Default: `false`.
20
43
21
44
[WARNING]
22
45
====
23
-
If this argument is set to `true` you should not disable hyperthreading in the BIOS. Disabling hyperthreading is accomplished with a kernel command line argument.
46
+
If this argument is set to `true` you should not disable Hyper-Threading in the BIOS. Disabling Hyper-Threading is accomplished with a kernel command line argument.
24
47
====
25
48
26
-
| --enable-hardware-tuning
49
+
|enable-hardware-tuning
27
50
a|Enable the setting of maximum CPU frequencies.
28
-
This parameter is optional.
29
51
30
-
To enable this feature, set the maximum frequency for applications running on isolated and reserved CPUs for both of the following:
52
+
To enable this feature, set the maximum frequency for applications running on isolated and reserved CPUs for both of the following fields:
31
53
32
54
* `spec.hardwareTuning.isolatedCpuFreq`
33
55
* `spec.hardwareTuning.reservedCpuFreq`
56
+
57
+
This is an advanced feature. If you configure hardware tuning, the generated `PerformanceProfile` includes warnings and guidance on how to set frequency settings.
34
58
35
59
| `info`
36
-
a| This captures cluster information and is used in discovery mode only. Discovery mode also requires the `must-gather-dir-path` argument. If any other arguments are set they are ignored.
60
+
a| This captures cluster information. This argument also requires the `must-gather-dir-path` argument. If any other arguments are set they are ignored.
37
61
38
62
Possible values:
39
63
40
64
* `log`
41
65
* `JSON`
42
66
43
-
+
44
-
[NOTE]
45
-
====
46
-
These options define the output format with the JSON format being reserved for debugging.
47
-
====
48
-
49
67
Default: `log`.
50
68
51
-
| `mcp-name`
52
-
|MCP name for example `worker-cnf` corresponding to the target machines. This parameter is required.
53
-
54
-
| `must-gather-dir-path`
55
-
| Must gather directory path. This parameter is required.
56
-
57
-
When the user runs the tool with the wrapper script `must-gather` is supplied by the script itself and the user must not specify it.
58
-
59
69
| `offlined-cpu-count`
60
70
a| Number of offlined CPUs.
61
71
62
72
[NOTE]
63
73
====
64
-
This must be a natural number greater than 0. If not enough logical processors are offlined then error messages are logged. The messages are:
74
+
Use a natural number greater than zero. If not enough logical processors are offlined, then error messages are logged. The messages are:
65
75
[source,terminal]
66
76
----
67
77
Error: failed to compute the reserved and isolated CPUs: please ensure that reserved-cpu-count plus offlined-cpu-count should be in the range [0,1]
@@ -77,8 +87,8 @@ a|The power consumption mode.
77
87
78
88
Possible values:
79
89
80
-
* `default`: CPU partitioning with enabled power management and basic low-latency.
81
-
* `low-latency`: Enhanced measures to improve latency figures.
90
+
* `default`: Performance achieved through CPU partitioning only.
91
+
* `low-latency`: Enhanced measures to improve latency.
82
92
* `ultra-low-latency`: Priority given to optimal latency, at the expense of power management.
83
93
84
94
Default: `default`.
@@ -92,20 +102,8 @@ Default: `false`.
92
102
93
103
| `profile-name`
94
104
| Name of the performance profile to create.
95
-
Default: `performance`.
96
-
97
-
| `reserved-cpu-count`
98
-
a| Number of reserved CPUs. This parameter is required.
99
105
100
-
[NOTE]
101
-
====
102
-
This must be a natural number. A value of 0 is not allowed.
103
-
====
104
-
105
-
| `rt-kernel`
106
-
| Enable real-time kernel. This parameter is required.
0 commit comments