17.9. 노드 튜닝 연산자를 사용하여 NIC 대기열 줄이기
노드 튜닝 오퍼레이터는 NIC 대기열을 줄여 성능을 향상시킵니다. 성능 프로필을 사용하여 조정이 이루어지므로 다양한 네트워크 장치에 맞게 대기열을 사용자 정의할 수 있습니다.
17.9.1. 성능 프로파일을 사용하여 NIC 큐 조정 링크 복사링크가 클립보드에 복사되었습니다!
성능 프로파일을 사용하면 각 네트워크 장치의 대기열 수를 조정할 수 있습니다.
지원되는 네트워크 장치는 다음과 같습니다.
- 비가상 네트워크 장치
- 멀티 큐(채널)를 지원하는 네트워크 장치
지원되지 않는 네트워크 장치는 다음과 같습니다.
- Pure Software 네트워크 인터페이스
- 블록 장치
- Intel DPDK 가상 기능
사전 요구 사항
-
cluster-admin
역할을 가진 사용자로 클러스터에 액세스합니다. -
OpenShift CLI(
oc
)를 설치합니다.
프로세스
-
클러스터 관리자
권한이 있는 사용자로 Node Tuning Operator를 실행하는 OpenShift Container Platform 클러스터에 로그인합니다. - 하드웨어 및 토폴로지에 적합한 성능 프로파일을 만들고 적용합니다. 프로파일 생성에 대한 지침은 "성능 프로파일 생성" 섹션을 참조하십시오.
생성된 성능 프로파일을 편집합니다.
oc edit -f <your_profile_name>.yaml
$ oc edit -f <your_profile_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec
필드를net
오브젝트로 채웁니다. 오브젝트 목록에는 다음 두 개의 필드가 포함될 수 있습니다.-
userLevelNetworking
은 부울 플래그로 지정된 필수 필드입니다.userLevelNetworking
이true
인 경우 지원되는 모든 장치에 대해 대기열 수가 예약된 CPU 수로 설정됩니다. 기본값은false
입니다. devices
는 예약된 CPU 수로 큐를 설정할 장치 목록을 지정하는 선택적 필드입니다. 장치 목록이 비어 있으면 구성이 모든 네트워크 장치에 적용됩니다. 구성은 다음과 같습니다.interfacename
: 이 필드는 인터페이스 이름을 지정하고, 양수 또는 음수일 수 있는 쉘 스타일 와일드카드를 지원합니다.-
와일드카드 구문의 예는 다음과 같습니다.
<string> .*
-
음수 규칙 앞에는 느낌표가 붙습니다. 제외된 목록이 아닌 모든 장치에 넷 큐 변경 사항을 적용하려면
!<device>
를 사용합니다(예:!eno1
).
-
와일드카드 구문의 예는 다음과 같습니다.
-
vendorID
: 접두사가0x
인 16비트 16진수로 표시되는 네트워크 장치 공급업체 ID입니다. deviceID
:0x
접두사가 있는 16비트 16진수로 표시되는 네트워크 장치 ID(모델)입니다.참고deviceID
가 지정되어 있는 경우vendorID
도 정의해야 합니다. 장치 항목interfaceName
,vendorID
,vendorID
및deviceID
의 쌍에 지정된 모든 장치 식별자와 일치하는 장치는 네트워크 장치로 간주됩니다. 그러면 이 네트워크 장치의 네트워크 대기열 수가 예약된 CPU 수로 설정됩니다.두 개 이상의 장치가 지정되면 네트워크 대기열 수가 해당 장치 중 하나와 일치하는 모든 네트워크 장치로 설정됩니다.
-
다음 예제 성능 프로필을 사용하여 대기열 수를 모든 장치에 예약된 CPU 수로 설정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예제 성능 프로필을 사용하여 정의된 장치 식별자와 일치하는 모든 장치에 대해 대기열 수를 예약된 CPU 수로 설정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예제 성능 프로필을 사용하여 인터페이스 이름
eth
로 시작하는 모든 장치에 대해 대기열 수를 예약된 CPU 수로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제 성능 프로필을 사용하여 이름이
eno1
이외의 인터페이스가 있는 모든 장치에 대해 대기열 수를 예약된 CPU 수로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인터페이스 이름
eth0
,0x1af4
의vendorID
및0x1000
의deviceID
는 모든 장치에 대해 대기열 수를 예약된 CPU 수로 설정합니다. 성능 프로파일 예는 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트된 성능 프로필을 적용합니다.
oc apply -f <your_profile_name>.yaml
$ oc apply -f <your_profile_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
17.9.2. 대기열 상태 확인 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 다양한 성능 프로필과 변경 사항이 적용되었는지 확인하는 방법에 대한 여러 예시가 있습니다.
예시 1
이 예에서 네트워크 대기열 수는 지원되는 모든 장치에 대해 예약된 CPU 수(2)로 설정됩니다.
성능 프로필의 관련 섹션은 다음과 같습니다.
다음 명령을 사용하여 장치와 연결된 대기열의 상태를 표시합니다.
참고성능 프로필이 적용된 노드에서 이 명령을 실행합니다.
ethtool -l <device>
$ ethtool -l <device>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 프로필을 적용하기 전에 대기열 상태를 확인합니다.
ethtool -l ens4
$ ethtool -l ens4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 프로필이 적용된 후 대기열 상태를 확인합니다.
ethtool -l ens4
$ ethtool -l ens4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 1
- 결합된 채널은 지원되는 모든 장치에 대해 예약된 CPU의 총 수가 2임을 보여줍니다. 이는 성능 프로필에 구성된 항목과 일치합니다.
예시 2
이 예에서 네트워크 대기열 수는 특정 vendorID
가 있는 지원되는 모든 네트워크 장치에 대해 예약된 CPU 수(2)로 설정됩니다.
성능 프로필의 관련 섹션은 다음과 같습니다.
다음 명령을 사용하여 장치와 연결된 대기열의 상태를 표시합니다.
참고성능 프로필이 적용된 노드에서 이 명령을 실행합니다.
ethtool -l <device>
$ ethtool -l <device>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 프로필이 적용된 후 대기열 상태를 확인합니다.
ethtool -l ens4
$ ethtool -l ens4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 1
vendorID=0x1af4
를 사용하는 지원되는 모든 장치에 대해 예약된 CPU의 총 수는 2입니다. 예를 들어vendorID=0x1af4
가 있는 다른 네트워크 장치ens2
가 별도로 존재하는 경우 총 네트워크 대기열 수는 2입니다. 이는 성능 프로필에 구성된 항목과 일치합니다.
예시 3
이 예에서 네트워크 대기열 수는 정의된 장치 식별자와 일치하는 지원되는 모든 네트워크 장치에 대해 예약된 CPU 수(2)로 설정됩니다.
udevadm info
는 장치에 대한 자세한 보고서를 제공합니다. 이 예에서 장치는 다음과 같습니다.
interfaceName
이eth0
인 장치 및 다음 성능 프로필이 있는vendorID=0x1af4
가 있는 모든 장치에 대해 네트워크 대기열을 2로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 프로필이 적용된 후 대기열 상태를 확인합니다.
ethtool -l ens4
$ ethtool -l ens4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
vendorID=0x1af4
를 사용하는 지원되는 모든 장치에 대해 예약된 CPU의 총 개수가 2로 설정됩니다. 예를 들어vendorID=0x1af4
가 있는 다른 네트워크 장치ens2
가 있는 경우 총 네트워크 대기열도 2로 설정됩니다. 마찬가지로interfaceName
이eth0
인 장치에는 총 네트워크 대기열이 2로 설정됩니다.
17.9.3. NIC 대기열 조정과 관련된 로깅 링크 복사링크가 클립보드에 복사되었습니다!
할당된 장치를 자세히 설명하는 로그 메시지는 각 Tuned 데몬 로그에 기록됩니다. /var/log/tuned/tuned.log
파일에 다음 메시지가 기록될 수 있습니다.
성공적으로 할당된 장치를 자세히 설명하는
INFO
메시지가 기록됩니다.INFO tuned.plugins.base: instance net_test (net): assigning devices ens1, ens2, ens3
INFO tuned.plugins.base: instance net_test (net): assigning devices ens1, ens2, ens3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 장치를 할당할 수 없는 경우
WARNING
메시지가 기록됩니다.WARNING tuned.plugins.base: instance net_test: no matching devices available
WARNING tuned.plugins.base: instance net_test: no matching devices available
Copy to Clipboard Copied! Toggle word wrap Toggle overflow