Menu Close

18.7.2. 테스트 실행

kubeconfig 파일이 현재 폴더에 있다고 가정하면 테스트 모음을 실행하는 명령은 다음과 같습니다.

$ docker run -v $(pwd)/:/kubeconfig -e KUBECONFIG=/kubeconfig/kubeconfig registry.redhat.io/openshift4/cnf-tests-rhel8:v4.8 /usr/bin/test-run.sh

이 명령을 사용하면 실행 중인 컨테이너 내부에서 kubeconfig 파일을 사용할 수 있습니다.

18.7.2.1. 대기 시간 테스트 실행

OpenShift Container Platform 4.8에서는 CNF-test 컨테이너에서 대기 시간 테스트를 실행할 수도 있습니다. 대기 시간 테스트를 사용하면 성능, 처리량, 대기 시간을 확인할 수 있도록 대기 시간 제한을 설정할 수 있습니다.

대기 시간 테스트는 OS 수준 대기 시간을 감지하는 오픈 소스 프로그램인 oslat 툴을 실행합니다. 자세한 내용은 Red Hat 지식베이스 솔루션에서 How to measure OS and hardware latency on isolated CPUs?를 참조하십시오.

기본적으로 대기 시간 테스트는 비활성화되어 있습니다. 대기 시간 테스트를 활성화하려면 LATENCY_TEST_RUN 변수를 추가하고 해당 값을 true로 설정해야 합니다. 예: LATENCY_TEST_RUN=true

또한 대기 시간 테스트를 위해 다음 환경 변수를 설정할 수 있습니다.

  • LATENCY_TEST_RUNTIME - 대기 시간 테스트 실행에 필요한 시간(초)을 지정합니다.
  • OSLAT_MAXIMUM_LATENCY - oslat 테스트 실행 중 모든 버킷에서 예상되는 최대 대기 시간 (마이크로 초)을 지정합니다.

대기 시간 테스트를 수행하려면 다음 명령을 실행합니다.

$ docker run -v $(pwd)/:/kubeconfig -e KUBECONFIG=/kubeconfig/kubeconfig -e LATENCY_TEST_RUN=true -e LATENCY_TEST_RUNTIME=600 -e OSLAT_MAXIMUM_LATENCY=20 registry.redhat.io/openshift4/cnf-tests-rhel8:v4.8 /usr/bin/test-run.sh
참고

검색 모드에서 대기 시간 테스트를 실행해야 합니다. 자세한 내용은 “검색 모드” 섹션을 참조하십시오.

다음 명령을 사용하여 10초 대기 시간 테스트의 샘플 결과를 출력합니다.

[root@cnf12-installer ~]# podman run --rm -v $KUBECONFIG:/kubeconfig:Z -e PERF_TEST_PROFILE=worker-cnf-2 -e KUBECONFIG=/kubeconfig -e LATENCY_TEST_RUN=true -e LATENCY_TEST_RUNTIME=10 -e OSLAT_MAXIMUM_LATENCY=20 -e DISCOVERY_MODE=true registry.redhat.io/openshift4/cnf-tests-rhel8:v4.8 /usr/bin/test-run.sh
-ginkgo.focus="Latency"
running /0_config.test -ginkgo.focus=Latency

출력 예

I1106 15:09:08.087085       7 request.go:621] Throttling request took 1.037172581s, request: GET:https://api.cnf12.kni.lab.eng.bos.redhat.com:6443/apis/autoscaling.openshift.io/v1?timeout=32s
Running Suite: Performance Addon Operator configuration

Random Seed: 1604675347
Will run 0 of 1 specs

JUnit report was created: /unit_report_performance_config.xml

Ran 0 of 1 Specs in 0.000 seconds
SUCCESS! -- 0 Passed | 0 Failed | 0 Pending | 1 Skipped
PASS
running /4_latency.test -ginkgo.focus=Latency
I1106 15:09:10.735795      23 request.go:621] Throttling request took 1.037276624s, request: GET:https://api.cnf12.kni.lab.eng.bos.redhat.com:6443/apis/certificates.k8s.io/v1?timeout=32s
Running Suite: Performance Addon Operator latency e2e tests

Random Seed: 1604675349
Will run 1 of 1 specs

I1106 15:10:06.401180      23 nodes.go:86] found mcd machine-config-daemon-r78qc for node cnfdd8.clus2.t5g.lab.eng.bos.redhat.com
I1106 15:10:06.738120      23 utils.go:23] run command 'oc [exec -i -n openshift-machine-config-operator -c machine-config-daemon --request-timeout 30 machine-config-daemon-r78qc -- cat /rootfs/var/log/oslat.log]' (err=<nil>):
  stdout=
Version: v0.1.7

Total runtime: 		10 seconds
Thread priority: 	SCHED_FIFO:1
CPU list: 		3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50
CPU for main thread: 	2
Workload: 		no
Workload mem: 		0 (KiB)
Preheat cores: 		48

Pre-heat for 1 seconds...
Test starts...
Test completed.

Core: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
CPU Freq: 2096 2096 2096 2096 2096 2096 2096 2096 2096 2096 2096 2096 2096 2092 2096 2096 2096 2092 2092 2096 2096 2096 2096 2096 2096 2096 2096 2096 2096 2092 2096 2096 2092 2096 2096 2096 2096 2092 2096 2096 2096 2092 2096 2096 2096 2096 2096 2096 (Mhz)
...
Maximum: 3 4 3 3 3 3 3 3 4 3 3 3 3 4 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 4 3 3 3 3 3 4 3 3 3 4 (us)