9.3. 컨테이너 배치를 사용하여 CPU 성능 최적화
실시간 프로필을 사용하여 호스트를 튜닝한 후 특정 CPU에 컨테이너를 선택적으로 배치하고 컨테이너 런타임 동작을 조정하여 성능을 추가로 최적화할 수 있습니다. 이러한 전략을 사용하면 CPU 격리 및 cgroup 구성이 컨테이너화된 워크로드의 대기 시간에 미치는 영향을 확인할 수 있습니다.
9.3.1. 모든 CPU에서 podman 실행 링크 복사링크가 클립보드에 복사되었습니다!
rteval 컨테이너로 podman 을 실행하려면 tuned realtime 프로필 또는 사용자 지정 시스템 튜닝을 사용하여 시스템을 조정합니다. 측정 중인 시나리오에 대해 CPU 분리가 필요한지 확인합니다. 특정 시나리오에서 컨테이너를 실행할 때 문제가 발생하지 않도록 CPU 격리를 올바르게 구성해야 합니다.
/proc/cmdline 에서 isolcpus= 인수를 확인합니다. isolcpus 가 설정되지 않은 경우 시스템은 CPU를 분리하지 않으며 모든 CPU에서 컨테이너를 실행할 수 있습니다.
사전 요구 사항
-
/proc/cmdline의isolcpus=인수는 모든 CPU에서 컨테이너를 실행하도록 설정되지 않습니다. - 호스트 시스템은 Red Hat Enterprise Linux 버전 10 이상에서 실행되고 있습니다.
-
podman서비스가 실행 중입니다. -
rteval컨테이너가 설치되어 실행 중입니다.
프로세스
podman레지스트리에 로그인합니다.$ podman login registry.redhat.iorteval컨테이너를 실행합니다. 컨테이너를 실행하는 다음 방법 중 하나를 선택합니다.단일 NUMA 노드 박스의 모든 CPU에서 다음을 수행합니다.
$ podman run -it --rm --privileged --pids-limit=0 registry.redhat.io/rhel10/rteval \ /bin/bash -c 'rteval --duration 2h'다중 NUMA 노드 시스템에서 다음을 수행합니다.
$ podman run -it --rm --privileged --pids-limit=0 registry.redhat.io/rhel10/rteval \ /bin/bash -c 'rteval --duration 2h --loads-cpulist 0,1 --measurement-cpulist 2-47--pids-limit=0-
kcompile은 컨테이너 런타임의 기본 제한에 도달하지 않고 실행할 수 있습니다.kcompile은 전체 커널을 다시 빌드할 필요 없이 현재 실행 중인 커널의 커널 모듈을 컴파일하는 데 사용되는 명령줄 유틸리티입니다. --privileged컨테이너는 호스트 시스템의 모든 장치에 액세스할 수 있습니다.
rteval을 올바르게 실행하려면 이 작업이 필요합니다.이러한 명령은 사용 가능한 모든 노드에서 단일 컨테이너를 실행합니다.
tuned서비스는 호스트 튜닝을 관리하여 단일 CPU만 사용할 때 베어 메탈 성능을 평가할 수 있습니다.
검증
새 터미널에서
rteval컨테이너를 포함한 모든 컨테이너를 나열하여 올바르게 실행되고 있는지 확인합니다.$ podman ps -a