16.3. 대기 시간 측정
cnf-tests
이미지는 세 가지 툴을 사용하여 시스템의 대기 시간을 측정합니다.
-
hwlatdetect
-
Cyclictest
-
oslat
각 툴에는 특정 용도가 있습니다. 도구를 순서대로 사용하여 안정적인 테스트 결과를 얻을 수 있습니다.
- hwlatdetect
-
베어 메탈 하드웨어에서 수행할 수 있는 기준을 측정합니다. 다음 대기 시간 테스트를 진행하기 전에
hwlatdetect
에서 보고한 대기 시간이 운영 체제 튜닝을 통해 하드웨어 대기 시간 급증을 수정할 수 없기 때문에 필요한 임계값을 충족하는지 확인합니다. - cyclictest
-
hwlatdetect
가 검증을 통과한 후 실시간 커널 스케줄러 대기 시간을 확인합니다.cyclictest
툴은 반복된 타이머를 예약하고 원하는 트리거 시간과 실제 트리거 시간 간의 차이를 측정합니다. 차이점은 인터럽트 또는 프로세스 우선 순위로 인한 튜닝의 기본 문제를 발견할 수 있습니다. 도구는 실시간 커널에서 실행되어야 합니다. - oslat
- CPU 집약적 DPDK 애플리케이션과 유사하게 작동하며 CPU 사용량이 많은 데이터 처리를 시뮬레이션하는 사용 중인 루프에 대한 모든 중단 및 중단을 측정합니다.
테스트에서는 다음과 같은 환경 변수를 도입합니다.
환경 변수 | 설명 |
---|---|
| 테스트 실행을 시작한 후 시간(초)을 지정합니다. 변수를 사용하여 CPU 관리자 조정 루프가 기본 CPU 풀을 업데이트하도록 허용할 수 있습니다. 기본값은 0입니다. |
| 대기 시간 테스트를 실행하는 Pod에서 사용하는 CPU 수를 지정합니다. 변수를 설정하지 않으면 기본 구성에 모든 분리된 CPU가 포함됩니다. |
| 대기 시간 테스트를 실행해야 하는 시간(초)을 지정합니다. 기본값은 300초입니다. |
|
워크로드 및 운영 체제에 대해 허용되는 최대 하드웨어 대기 시간(마이크로초)을 지정합니다. |
|
|
|
|
| microseconds에서 허용되는 최대 대기 시간을 지정하는 통합 변수입니다. 사용 가능한 모든 대기 시간 툴에 적용됩니다. |
|
테스트 실행 여부를 나타내는 부울 매개변수입니다. |
대기 시간 툴과 관련된 변수가 통합 변수보다 우선합니다. 예를 들어 OSLAT_MAXIMUM_LATENCY
가 30 마이크로초로 설정되고 MAXIMUM_LATENCY
가 10 마이크로초로 설정된 경우 oslat
테스트가 최대 허용 가능한 대기 시간 30마이크로 실행됩니다.