9.2. 느린 작업 공간 문제 해결
작업 공간을 시작하는 데 시간이 오래 걸릴 수 있습니다. 튜닝을 사용하면 이 시작 시간을 줄일 수 있습니다. 옵션에 따라 관리자 또는 사용자는 튜닝을 수행할 수 있습니다.
이 섹션에는 작업 공간을 더 빨리 시작하거나 작업 공간 런타임 성능을 개선하기 위한 몇 가지 튜닝 옵션이 포함되어 있습니다.
9.2.1. 작업 공간 시작 시간 개선
- 이미지 가져오기를 사용하여 이미지 캐싱
역할: 관리자
작업 영역을 시작할 때 OpenShift는 레지스트리에서 이미지를 가져옵니다. 작업 공간에는 OpenShift가 포드의 이미지(컨테이너당 하나씩)를 가져오는 많은 컨테이너가 포함될 수 있습니다. 이미지 크기와 대역폭에 따라 시간이 오래 걸릴 수 있습니다.
이미지 Puller는 각 OpenShift 노드에서 이미지를 캐시할 수 있는 툴입니다. 따라서 이미지를 미리 가져오면 시작 시간이 단축될 수 있습니다. https://access.redhat.com/documentation/en-us/red_hat_openshift_dev_spaces/3.19/html-single/administration_guide/index#administration-guide:caching-images-for-faster-workspace-start 을 참조하십시오.
- 더 나은 스토리지 유형 선택
역할: 관리자 및 사용자
모든 작업 공간에는 공유 볼륨이 연결되어 있습니다. 이 볼륨은 프로젝트 파일을 저장하므로 작업 영역을 다시 시작할 때 변경 사항을 계속 사용할 수 있습니다. 스토리지에 따라 연결 시간이 몇 분 정도 걸릴 수 있으며 I/O 속도가 느려질 수 있습니다.
- 오프라인 설치
역할: 관리자
OpenShift Dev Spaces의 구성 요소는 OCI 이미지입니다. 처음부터 모든 항목을 사용할 수 있어야 하므로 런타임 시 추가 다운로드를 줄이기 위해 Red Hat OpenShift Dev Spaces를 오프라인 모드로 설정합니다. https://access.redhat.com/documentation/en-us/red_hat_openshift_dev_spaces/3.19/html-single/administration_guide/index#administration-guide:installing-che-in-a-restricted-environment 을 참조하십시오.
- 공용 끝점 수 감소
역할: 관리자
OpenShift는 각 끝점에 OpenShift Route 오브젝트를 생성하고 있습니다. 기본 구성에 따라 이 생성 속도가 느려질 수 있습니다.
이 문제를 방지하려면 노출을 줄입니다. 예를 들어 컨테이너 내부에서 수신 대기하는 새 포트를 자동으로 감지하고 로컬 IP 주소(
127.0.0.1
)를 사용하여 프로세스의 트래픽을 리디렉션하기 위해 Microsoft Visual Code에는 세 가지 선택적 경로가 있습니다.끝점 수를 줄이고 모든 플러그인의 끝점을 확인하면 작업 공간 시작이 더 빨라질 수 있습니다.
9.2.2. 작업 공간 런타임 성능 개선
- 충분한 CPU 리소스 제공
플러그인은 CPU 리소스를 사용합니다. 예를 들어 플러그인이 Cryostat 기능을 제공하는 경우 CPU 리소스를 더 추가하면 성능이 향상될 수 있습니다.
devfile 정의
devfile.yaml
의 CPU 설정이 올바른지 확인합니다.components: - name: tools container: image: quay.io/devfile/universal-developer-image:ubi8-latest cpuLimit: 4000m 1 cpuRequest: 1000m 2
- 충분한 메모리 제공
플러그인은 CPU 및 메모리 리소스를 사용합니다. 예를 들어 플러그인이 Cryostat 기능을 제공하는 경우 데이터를 수집하면 컨테이너에 할당된 모든 메모리를 사용할 수 있습니다.
컨테이너에 더 많은 메모리를 제공하면 성능이 향상될 수 있습니다. devfile 정의
devfile.yaml
파일의 메모리 설정이 올바른지 확인합니다.components: - name: tools container: image: quay.io/devfile/universal-developer-image:ubi8-latest memoryLimit: 6G 1 memoryRequest: 512Mi 2