1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/cnf-verifying-queue-status.adoc

226 lines
4.7 KiB
Plaintext

// Module included in the following assemblies:
//CNF-1483 (4.8)
// * scalability_and_performance/cnf-low-latency-tuning.adoc
[id="verifying-queue-status_{context}"]
= Verifying the queue status
In this section, a number of examples illustrate different performance profiles and how to verify the changes are applied.
.Example 1
In this example, the net queue count is set to the reserved CPU count (2) for _all_ supported devices.
The relevant section from the performance profile is:
[source,yaml]
----
apiVersion: performance.openshift.io/v2
metadata:
name: performance
spec:
kind: PerformanceProfile
spec:
cpu:
reserved: 0-1 #total = 2
isolated: 2-8
net:
userLevelNetworking: true
# ...
----
* Display the status of the queues associated with a device using the following command:
+
[NOTE]
====
Run this command on the node where the performance profile was applied.
====
+
[source,terminal]
----
$ ethtool -l <device>
----
* Verify the queue status before the profile is applied:
+
[source,terminal]
----
$ ethtool -l ens4
----
+
.Example output
[source,terminal]
----
Channel parameters for ens4:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 4
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 4
----
* Verify the queue status after the profile is applied:
+
[source,terminal]
----
$ ethtool -l ens4
----
+
.Example output
[source,terminal]
----
Channel parameters for ens4:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 4
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 2 <1>
----
<1> The combined channel shows that the total count of reserved CPUs for _all_ supported devices is 2. This matches what is configured in the performance profile.
.Example 2
In this example, the net queue count is set to the reserved CPU count (2) for _all_ supported network devices with a specific `vendorID`.
The relevant section from the performance profile is:
[source,yaml]
----
apiVersion: performance.openshift.io/v2
metadata:
name: performance
spec:
kind: PerformanceProfile
spec:
cpu:
reserved: 0-1 #total = 2
isolated: 2-8
net:
userLevelNetworking: true
devices:
- vendorID = 0x1af4
# ...
----
* Display the status of the queues associated with a device using the following command:
+
[NOTE]
====
Run this command on the node where the performance profile was applied.
====
+
[source,terminal]
----
$ ethtool -l <device>
----
* Verify the queue status after the profile is applied:
+
[source,terminal]
----
$ ethtool -l ens4
----
+
.Example output
[source,terminal]
----
Channel parameters for ens4:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 4
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 2 <1>
----
<1> The total count of reserved CPUs for all supported devices with `vendorID=0x1af4` is 2.
For example, if there is another network device `ens2` with `vendorID=0x1af4` it will also have total net queues of 2. This matches what is configured in the performance profile.
.Example 3
In this example, the net queue count is set to the reserved CPU count (2) for _all_ supported network devices that match any of the defined device identifiers.
The command `udevadm info` provides a detailed report on a device. In this example the devices are:
[source,terminal]
----
# udevadm info -p /sys/class/net/ens4
...
E: ID_MODEL_ID=0x1000
E: ID_VENDOR_ID=0x1af4
E: INTERFACE=ens4
...
----
[source,terminal]
----
# udevadm info -p /sys/class/net/eth0
...
E: ID_MODEL_ID=0x1002
E: ID_VENDOR_ID=0x1001
E: INTERFACE=eth0
...
----
* Set the net queues to 2 for a device with `interfaceName` equal to `eth0` and any devices that have a `vendorID=0x1af4` with the following performance profile:
+
[source,yaml]
----
apiVersion: performance.openshift.io/v2
metadata:
name: performance
spec:
kind: PerformanceProfile
spec:
cpu:
reserved: 0-1 #total = 2
isolated: 2-8
net:
userLevelNetworking: true
devices:
- interfaceName = eth0
- vendorID = 0x1af4
...
----
* Verify the queue status after the profile is applied:
+
[source,terminal]
----
$ ethtool -l ens4
----
+
.Example output
[source,terminal]
----
Channel parameters for ens4:
Pre-set maximums:
RX: 0
TX: 0
Other: 0
Combined: 4
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 2 <1>
----
+
<1> The total count of reserved CPUs for all supported devices with `vendorID=0x1af4` is set to 2.
For example, if there is another network device `ens2` with `vendorID=0x1af4`, it will also have the total net queues set to 2. Similarly, a device with `interfaceName` equal to `eth0` will have total net queues set to 2.