13.4. 실시간 인스턴스 시작 및 튜닝
실시간 컴퓨팅 노드를 배포하고 구성한 후 해당 노드에서 실시간 인스턴스를 시작할 수 있습니다. CPU 고정, NUMA 토폴로지 필터 및 대규모 페이지를 사용하여 이러한 실시간 인스턴스를 추가로 구성할 수 있습니다.
사전 요구 사항
-
실시간 Compute 역할 배포에 설명된 대로
compute-realtime
플레이버가 오버클라우드에 있습니다.
절차
실시간 인스턴스를 시작합니다.
# openstack server create --image <rhel> \ --flavor r1.small --nic net-id=<dpdk_net> test-rt
선택 사항: 인스턴스에서 할당된 에뮬레이터 스레드를 사용하는지 확인합니다.
# virsh dumpxml <instance_id> | grep vcpu -A1 <vcpu placement='static'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='1'/> <vcpupin vcpu='1' cpuset='3'/> <vcpupin vcpu='2' cpuset='5'/> <vcpupin vcpu='3' cpuset='7'/> <emulatorpin cpuset='0-1'/> <vcpusched vcpus='2-3' scheduler='fifo' priority='1'/> </cputune>
CPU 고정 및 에뮬레이터 스레드 정책 설정
실시간 워크로드를 위해 각 실시간 계산 노드에 충분한 CPU가 있는지 확인하려면 인스턴스에 대해 하나 이상의 가상 CPU(vCPU)를 호스트의 물리적 CPU(pCPU)에 고정해야 합니다. 그 vCPU의 에뮬레이터 스레드는 해당 pCPU 전용으로 유지됩니다.
전용 CPU 정책을 사용하도록 플레이버를 구성합니다. 이렇게 하려면 hw:cpu_policy
매개 변수를 플레이버 전용으로
설정합니다. 예를 들면 다음과 같습니다.
# openstack flavor set --property hw:cpu_policy=dedicated 99
리소스 할당량에 사용할 실시간 컴퓨팅 노드에 충분한 pCPU가 있는지 확인합니다.
네트워크 설정 최적화
배포 요구 사항에 따라 network-environment.yaml
파일에서 매개변수를 설정해야 특정 실시간 워크로드에 대해 네트워크를 튜닝해야 할 수 있습니다.
OVS-DPDK에 최적화된 구성 예를 검토하려면 네트워크 기능 가상화 계획 및 구성 가이드의 OVS-DPDK 매개변수 구성 섹션을 참조하십시오.
대규모 페이지 구성
기본 대규모 페이지 크기를 1GB로 설정하는 것이 좋습니다. 그렇지 않으면 TLB 플러시에서 vCPU 실행에 지터를 만들 수 있습니다. 대규모 페이지 사용에 대한 일반 정보는 Running DPDK 애플리케이션 웹 페이지를 참조하십시오.
PMU(성능 모니터링 단위) 에뮬레이션 비활성화
인스턴스는 vPMU로 이미지 또는 플레이버를 지정하여 PMU 지표를 제공할 수 있습니다. PMU 지표를 제공하면 대기 시간이 발생합니다.
NovaLibvirtCPUMode
가 host-passthrough
로 설정된 경우 vPMU는 기본적으로 활성화됩니다.
PMU 지표가 필요하지 않은 경우 인스턴스를 생성하는 데 사용되는 이미지 또는 플레이버에서 PMU 속성을 "False"로 설정하여 vPMU를 비활성화하여 대기 시간을 줄입니다.
-
이미지:
hw_pmu=False
-
Flavor:
hw:pmu=False