14.4. 대기 시간 테스트 실행
클러스터 대기 시간 테스트를 실행하여 CNF(클라우드 네이티브 네트워크 기능) 워크로드에 대한 노드 튜닝을 검증합니다.
항상 DISCOVERY_MODE=true
세트를 사용하여 대기 시간 테스트를 실행합니다. 그렇지 않은 경우 테스트 모음에서 실행 중인 클러스터 구성을 변경합니다.
podman
명령을 루트가 아닌 사용자 또는 권한이 없는 사용자로 실행하는 경우 권한 거부
오류로 인해 마운트 경로가 실패할 수 있습니다. podman
명령이 작동하도록 하려면 :Z
를 볼륨 생성에 추가합니다(예: -v $(pwd)/:/kubeconfig:Z
). 이렇게 하면 podman
에서 적절한 SELinux 레이블을 다시 지정할 수 있습니다.
절차
kubeconfig
파일이 포함된 디렉터리에서 쉘 프롬프트를 엽니다.테스트 이미지에 현재 디렉터리에
kubeconfig
파일 및 볼륨을 통해 마운트된 관련$KUBECONFIG
환경 변수를 제공합니다. 이를 통해 실행 중인 컨테이너에서 컨테이너 내부에서kubeconfig
파일을 사용할 수 있습니다.다음 명령을 입력하여 대기 시간 테스트를 실행합니다.
podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \ -e LATENCY_TEST_RUN=true -e DISCOVERY_MODE=true -e FEATURES=performance registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 \ /usr/bin/test-run.sh -ginkgo.focus="\[performance\]\ Latency\ Test"
$ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \ -e LATENCY_TEST_RUN=true -e DISCOVERY_MODE=true -e FEATURES=performance registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 \ /usr/bin/test-run.sh -ginkgo.focus="\[performance\]\ Latency\ Test"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
선택 사항: Append
-ginkgo.dryRun
을 사용하여 시험 실행 모드에서 대기 시간 테스트를 실행합니다. 이 명령은 테스트 실행을 확인하는 데 유용합니다. -
선택 사항: Append
-ginkgo.v
를 사용하여 향상된 동사를 사용하여 테스트를 실행합니다. 선택 사항: 특정 성능 프로필에 대해 대기 시간 테스트를 실행하려면 다음 명령을 실행하여 적절한 값을 대체합니다.
podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \ -e LATENCY_TEST_RUN=true -e FEATURES=performance -e LATENCY_TEST_RUNTIME=600 -e MAXIMUM_LATENCY=20 \ -e PERF_TEST_PROFILE=<performance_profile> registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 \ /usr/bin/test-run.sh -ginkgo.focus="[performance]\ Latency\ Test"
$ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \ -e LATENCY_TEST_RUN=true -e FEATURES=performance -e LATENCY_TEST_RUNTIME=600 -e MAXIMUM_LATENCY=20 \ -e PERF_TEST_PROFILE=<performance_profile> registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 \ /usr/bin/test-run.sh -ginkgo.focus="[performance]\ Latency\ Test"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
- <performance_profile>
- 는 대기 시간 테스트를 실행할 성능 프로필의 이름입니다.
중요유효한 대기 시간 테스트 결과의 경우 최소 12 시간 동안 테스트를 실행합니다.
14.4.1. hwlatdetect 실행 링크 복사링크가 클립보드에 복사되었습니다!
hwlatdetect
툴은 RHEL(Red Hat Enterprise Linux) 8.x의 일반 서브스크립션과 함께 rt-kernel
패키지에서 사용할 수 있습니다.
항상 DISCOVERY_MODE=true
세트를 사용하여 대기 시간 테스트를 실행합니다. 그렇지 않은 경우 테스트 모음에서 실행 중인 클러스터 구성을 변경합니다.
podman
명령을 루트가 아닌 사용자 또는 권한이 없는 사용자로 실행하는 경우 권한 거부
오류로 인해 마운트 경로가 실패할 수 있습니다. podman
명령이 작동하도록 하려면 :Z
를 볼륨 생성에 추가합니다(예: -v $(pwd)/:/kubeconfig:Z
). 이렇게 하면 podman
에서 적절한 SELinux 레이블을 다시 지정할 수 있습니다.
사전 요구 사항
- 클러스터에 실시간 커널이 설치되어 있습니다.
-
고객 포털 인증 정보를 사용하여
registry.redhat.io
에 로그인했습니다.
절차
hwlatdetect
테스트를 실행하려면 다음 명령을 실행하여 변수 값을 적절하게 대체합니다.podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \ -e LATENCY_TEST_RUN=true -e DISCOVERY_MODE=true -e FEATURES=performance -e ROLE_WORKER_CNF=worker-cnf \ -e LATENCY_TEST_RUNTIME=600 -e MAXIMUM_LATENCY=20 \ registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 \ /usr/bin/test-run.sh -ginkgo.v -ginkgo.focus="hwlatdetect"
$ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \ -e LATENCY_TEST_RUN=true -e DISCOVERY_MODE=true -e FEATURES=performance -e ROLE_WORKER_CNF=worker-cnf \ -e LATENCY_TEST_RUNTIME=600 -e MAXIMUM_LATENCY=20 \ registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 \ /usr/bin/test-run.sh -ginkgo.v -ginkgo.focus="hwlatdetect"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow hwlatdetect
테스트는 10분(600초) 동안 실행됩니다. 최대 관찰 대기 시간이MAXIMUM_LATENCY
(20 ECDHEs)보다 작으면 테스트가 성공적으로 실행됩니다.결과가 대기 시간 임계값을 초과하면 테스트가 실패합니다.
중요유효한 결과를 얻으려면 테스트가 최소 12 시간 동안 실행되어야 합니다.
실패 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
hwlatdetect 테스트 결과의 예
다음 유형의 결과를 캡처할 수 있습니다.
- 테스트 전체에서 수행된 변경 사항에 대한 영향을 만들기 위해 각 실행 후 수집된 대략적인 결과.
- 최상의 결과 및 구성 설정을 사용하여 대략적인 테스트 집합을 결합합니다.
좋은 결과의 예
hwlatdetect
툴은 샘플이 지정된 임계값을 초과하는 경우에만 출력을 제공합니다.
잘못된 결과의 예
hwlatdetect
의 출력은 여러 샘플이 임계값을 초과함을 보여줍니다. 그러나 동일한 출력은 다음 요인에 따라 다른 결과를 나타낼 수 있습니다.
- 테스트 기간
- CPU 코어 수
- 호스트 펌웨어 설정
다음 대기 시간 테스트를 진행하기 전에 hwlatdetect
에서 보고하는 대기 시간이 필요한 임계값을 충족하는지 확인합니다. 하드웨어에서 도입된 대기 시간을 수정하려면 시스템 벤더 지원에 문의해야 할 수 있습니다.
모든 대기 시간 급증이 하드웨어와 관련이 있는 것은 아닙니다. 호스트 펌웨어를 튜닝하여 워크로드 요구 사항을 충족해야 합니다. 자세한 내용은 시스템 튜닝의 펌웨어 매개변수 설정을 참조하십시오.
14.4.2. cyclictest 실행 링크 복사링크가 클립보드에 복사되었습니다!
cyclictest
툴은 지정된 CPU에서 실시간 커널 스케줄러 대기 시간을 측정합니다.
항상 DISCOVERY_MODE=true
세트를 사용하여 대기 시간 테스트를 실행합니다. 그렇지 않은 경우 테스트 모음에서 실행 중인 클러스터 구성을 변경합니다.
podman
명령을 루트가 아닌 사용자 또는 권한이 없는 사용자로 실행하는 경우 권한 거부
오류로 인해 마운트 경로가 실패할 수 있습니다. podman
명령이 작동하도록 하려면 :Z
를 볼륨 생성에 추가합니다(예: -v $(pwd)/:/kubeconfig:Z
). 이렇게 하면 podman
에서 적절한 SELinux 레이블을 다시 지정할 수 있습니다.
사전 요구 사항
-
고객 포털 인증 정보를 사용하여
registry.redhat.io
에 로그인했습니다. - 클러스터에 실시간 커널이 설치되어 있습니다.
- Node Tuning Operator를 사용하여 클러스터 성능 프로필을 적용했습니다.
절차
cyclictest
를 수행하려면 다음 명령을 실행하여 변수 값을 적절하게 대체합니다.podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \ -e LATENCY_TEST_RUN=true -e DISCOVERY_MODE=true -e FEATURES=performance -e ROLE_WORKER_CNF=worker-cnf \ -e LATENCY_TEST_CPUS=10 -e LATENCY_TEST_RUNTIME=600 -e MAXIMUM_LATENCY=20 \ registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 \ /usr/bin/test-run.sh -ginkgo.v -ginkgo.focus="cyclictest"
$ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \ -e LATENCY_TEST_RUN=true -e DISCOVERY_MODE=true -e FEATURES=performance -e ROLE_WORKER_CNF=worker-cnf \ -e LATENCY_TEST_CPUS=10 -e LATENCY_TEST_RUNTIME=600 -e MAXIMUM_LATENCY=20 \ registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 \ /usr/bin/test-run.sh -ginkgo.v -ginkgo.focus="cyclictest"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
cyclictest
툴을 10분(600초) 동안 실행합니다. 최대 관찰 대기 시간이MAXIMUM_LATENCY
보다 작으면 테스트가 성공적으로 실행됩니다(이 예제에서는 20 ECDHE). 20 ECDHE 이상의 대기 시간 급증은 일반적으로 telco RAN 워크로드에는 허용되지 않습니다.결과가 대기 시간 임계값을 초과하면 테스트가 실패합니다.
중요유효한 결과를 얻으려면 테스트가 최소 12 시간 동안 실행되어야 합니다.
실패 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
cyclictest 결과 예
동일한 출력은 다른 워크로드에 대한 다른 결과를 나타낼 수 있습니다. 예를 들어 최대 18ECDHE의 급증은 4G DU 워크로드에는 허용되지만 5G DU 워크로드에서는 사용할 수 없습니다.
좋은 결과의 예
잘못된 결과의 예
14.4.3. oslat 실행 링크 복사링크가 클립보드에 복사되었습니다!
oslat
테스트는 CPU 집약적 DPDK 애플리케이션을 시뮬레이션하고 모든 중단 및 중단을 측정하여 클러스터가 CPU의 과도한 데이터 처리를 처리하는 방법을 테스트합니다.
항상 DISCOVERY_MODE=true
세트를 사용하여 대기 시간 테스트를 실행합니다. 그렇지 않은 경우 테스트 모음에서 실행 중인 클러스터 구성을 변경합니다.
podman
명령을 루트가 아닌 사용자 또는 권한이 없는 사용자로 실행하는 경우 권한 거부
오류로 인해 마운트 경로가 실패할 수 있습니다. podman
명령이 작동하도록 하려면 :Z
를 볼륨 생성에 추가합니다(예: -v $(pwd)/:/kubeconfig:Z
). 이렇게 하면 podman
에서 적절한 SELinux 레이블을 다시 지정할 수 있습니다.
사전 요구 사항
-
고객 포털 인증 정보를 사용하여
registry.redhat.io
에 로그인했습니다. - Node Tuning Operator를 사용하여 클러스터 성능 프로필을 적용했습니다.
프로세스
oslat
테스트를 수행하려면 다음 명령을 실행하여 변수 값을 적절하게 대체합니다.podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \ -e LATENCY_TEST_RUN=true -e DISCOVERY_MODE=true -e FEATURES=performance -e ROLE_WORKER_CNF=worker-cnf \ -e LATENCY_TEST_CPUS=10 -e LATENCY_TEST_RUNTIME=600 -e MAXIMUM_LATENCY=20 \ registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 \ /usr/bin/test-run.sh -ginkgo.v -ginkgo.focus="oslat"
$ podman run -v $(pwd)/:/kubeconfig:Z -e KUBECONFIG=/kubeconfig/kubeconfig \ -e LATENCY_TEST_RUN=true -e DISCOVERY_MODE=true -e FEATURES=performance -e ROLE_WORKER_CNF=worker-cnf \ -e LATENCY_TEST_CPUS=10 -e LATENCY_TEST_RUNTIME=600 -e MAXIMUM_LATENCY=20 \ registry.redhat.io/openshift4/cnf-tests-rhel8:v4.12 \ /usr/bin/test-run.sh -ginkgo.v -ginkgo.focus="oslat"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow LATENCY_TEST_CPUS
는oslat
명령으로 테스트할 CPU 목록을 지정합니다.이 명령은
oslat
툴을 10분(600초) 동안 실행합니다. 최대 관찰 대기 시간이MAXIMUM_LATENCY
(20 ECDHEs)보다 작으면 테스트가 성공적으로 실행됩니다.결과가 대기 시간 임계값을 초과하면 테스트가 실패합니다.
중요유효한 결과를 얻으려면 테스트가 최소 12 시간 동안 실행되어야 합니다.
실패 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이 예에서 측정된 대기 시간은 최대 허용된 값 외부에 있습니다.