16.6. 성능 프로필을 사용하여 짧은 대기 시간을 실현하도록 노드 튜닝
성능 프로필을 사용하면 특정 머신 구성 풀에 속한 노드의 대기 시간 튜닝 측면을 제어할 수 있습니다. 설정을 지정하면 PerformanceProfile
오브젝트가 실제 노드 수준 튜닝을 수행하는 여러 오브젝트로 컴파일됩니다.
-
MachineConfig
파일은 노드를 조작합니다. -
KubeletConfig
파일은 토폴로지 관리자, CPU 관리자 및 OpenShift Container Platform 노드를 구성합니다. - Tuned 프로필은 Node Tuning Operator를 구성합니다.
프로세스
- 클러스터를 준비합니다.
- 머신 구성 풀을 생성합니다.
- Performance Addon Operator를 설치합니다.
하드웨어 및 토폴로지에 적합한 성능 프로필을 생성합니다. 성능 프로필에서는 커널을 커널-rt로 업데이트할 것인지 여부, 대규모 페이지 할당, 운영 체제 하우스키핑 프로세스용으로 예약할 CPU, 워크로드 실행에 사용할 CPU를 지정할 수 있습니다.
일반적인 성능 프로필은 다음과 같습니다.
apiVersion: performance.openshift.io/v2 kind: PerformanceProfile metadata: name: performance spec: cpu: isolated: "5-15" reserved: "0-4" hugepages: defaultHugepagesSize: "1G" pages: -size: "1G" count: 16 node: 0 realTimeKernel: enabled: true 1 numa: 2 topologyPolicy: "best-effort" nodeSelector: node-role.kubernetes.io/worker-cnf: ""
- 1
- 유효한 값은
true
또는false
입니다.true
값을 설정하면 노드에 실시간 커널이 설치됩니다. - 2
- 이 필드를 사용하여 토폴로지 관리자 정책을 구성합니다. 유효한 값은
none
(기본값),best-effort
,restricted
및single-numa-node
입니다. 자세한 내용은 토폴로지 관리자 정책을 참조하십시오.
16.6.1. CPU 파티셔닝
하나의 NUMA 노드에서 운영 체제 하우스키핑 작업용으로 코어 또는 스레드를 예약하고 다른 NUMA 노드에 워크로드를 배치할 수 있습니다. 하우스키핑 프로세스가 동일한 CPU에서 실행되는 대기 시간에 민감한 프로세스에 영향을 미치는 방식으로 CPU를 사용할 수도 있기 때문입니다. 별도의 NUMA 노드에 워크로드를 유지하면 프로세스가 서로 간섭하는 것을 방지합니다. 또한, 각 NUMA 노드에는 공유되지 않는 자체 메모리 버스도 있습니다.
spec
섹션에서 다음과 같이 두 개의 CPU 그룹을 지정하십시오.
-
isolated
- 대기 시간이 가장 짧습니다. 이 그룹의 프로세스에는 중단이 발생하지 않으므로 예를 들어 프로세스가 훨씬 더 높은 DPDK 제로 패킷 손실 대역폭에 도달할 수 있습니다. -
reserved
- 하우스키핑 CPU입니다. 예약된 그룹의 스레드는 사용되고 있는 상태인 경우가 많으므로 대기 시간에 민감한 애플리케이션은 격리된 그룹에서 실행되어야 합니다. QoS 클래스Guaranteed
가 할당된 Pod 생성을 참조하십시오.