mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 12:46:18 +01:00
226 lines
4.7 KiB
Plaintext
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.
|