16.7.2. 运行测试
假设 kubeconfig 文件位于当前目录中,运行测试套件的命令为:
$ docker run -v $(pwd)/:/kubeconfig -e KUBECONFIG=/kubeconfig/kubeconfig registry.redhat.io/openshift4/cnf-tests-rhel8:v4.7 /usr/bin/test-run.sh
您的 kubeconfig 文件可以从正在运行的容器内被消耗。
16.7.2.1. 运行延迟测试 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在 OpenShift Container Platform 4.7 中,您还可以从 CNF-test 容器运行延迟测试。延迟测试可让您设置延迟限制,以便您可以确定性能、吞吐量和延迟时间。
延迟测试运行 oslat 工具,它是一个开源程序来检测操作系统级别的延迟。如需更多信息,请参阅红帽知识库解决方案如何测量隔离 CPU 上的 OS 和硬件延迟?
默认情况下禁用延迟测试。要启用延迟测试,您必须添加 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.7 /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.7 /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)