2.6. OpenShift 4.x에서 Fuse Console의 성능 튜닝


기본적으로 Fuse Console은 다음 Nginx 설정을 사용합니다.

  • clientBodyBufferSize: 256k
  • proxyBuffers: 16 128k
  • subrequestOutputBufferSize: 10m

참고: 이러한 설정에 대한 설명은 Nginx 문서를 참조하십시오. http://nginx.org/en/docs/dirindex.html

Fuse Console의 성능을 조정하려면 clientBodyBufferSize,proxyBuffers, subrequestOutputBufferSize 환경 변수를 설정할 수 있습니다. 예를 들어 Fuse Console을 사용하여 수많은 Pod 및 경로를 모니터링하는 경우(예: 총 100개 경로) Fuse Console의 하위requestOutputBufferSize 환경 변수를 60m 에서 100m 사이로 설정하여 로드 시간 초과 문제를 해결할 수 있습니다.

이러한 환경 변수를 설정하는 방법은 Openshift 4.x에 Fuse 콘솔을 설치하는 방법에 따라 다릅니다.

  • Fuse Console Operator 사용
  • Fuse Console 템플릿 사용

2.6.1. Fuse Console Operator 설치를 위한 성능 튜닝

Openshift 4.x에서는 Fuse 콘솔을 배포하기 전이나 후에 Nginx 성능 튜닝 환경 변수를 설정할 수 있습니다. 나중에 이렇게 하면 OpenShift에서 Fuse Console을 재배포합니다.

사전 요구 사항

프로세스

Fuse 콘솔을 배포하기 전이나 후에 환경 변수를 설정할 수 있습니다.

  • Fuse 콘솔을 배포하기 전에 환경 변수를 설정하려면 다음을 수행합니다.

    1. OpenShift 웹 콘솔의 Fuse Console Operator가 설치된 프로젝트에서 Operator > Installed Operators> Red Hat Integration - Fuse Console 을 선택합니다.
    2. Hawtio 탭을 클릭한 다음 Create Hawtio 를 클릭합니다.
    3. Create Hawtio 페이지, 양식 보기 의 구성 > Nginx 섹션까지 아래로 스크롤합니다.
    4. Nginx 섹션을 확장한 다음 환경 변수를 설정합니다. 예를 들면 다음과 같습니다.

      • clientBodyBufferSize: 256k
      • proxyBuffers: 16 128k
      • subrequestOutputBufferSize: 100m
    5. 설정을 저장합니다.
    6. 생성 을 클릭하여 Fuse 콘솔을 배포합니다.
    7. 배포가 완료되면 Deployments> fuse-console 페이지를 열고 환경을 클릭하여 환경 변수가 목록에 있는지 확인합니다.
  • Fuse 콘솔을 배포한 후 환경 변수를 설정하려면 다음을 수행합니다.

    1. OpenShift 웹 콘솔에서 Fuse Console이 배포된 프로젝트를 엽니다.
    2. Operators> 설치된 Operators> Red Hat Integration - Fuse Console 을 선택합니다.
    3. Hawtio 탭을 클릭한 다음 fuse-console 을 클릭합니다.
    4. 작업> Edit Hawtio 를 선택합니다.
    5. 편집기 창에서 사양 섹션까지 아래로 스크롤합니다.
    6. spec 섹션에서 새 nginx 섹션을 추가하고 하나 이상의 환경 변수를 지정합니다. 예를 들면 다음과 같습니다.

      apiVersion: hawt.io/v1alpha1
      kind: Hawtio
      metadata:
        name: fuse-console
      spec:
        type: Namespace
        nginx:
          clientBodyBufferSize: 256k
          proxyBuffers: 16 128k
          subrequestOutputBufferSize: 100m
      .
      .
      .
    7. 저장을 클릭합니다.

      OpenShift는 Fuse Console을 재배포합니다.

    8. 재배포가 완료되면 워크로드> 배포> fuse-console 페이지를 연 다음 환경을 클릭하여 목록의 환경 변수를 확인합니다.

2.6.2. Fuse Console 템플릿 설치를 위한 성능 튜닝

Openshift 4.x에서는 Fuse 콘솔을 배포하기 전이나 후에 Nginx 성능 튜닝 환경 변수를 설정할 수 있습니다. 나중에 이렇게 하면 OpenShift에서 Fuse Console을 재배포합니다.

사전 요구 사항

프로세스

Fuse 콘솔을 배포하기 전이나 후에 환경 변수를 설정할 수 있습니다.

  • Fuse 콘솔을 배포하기 전에 환경 변수를 설정하려면 다음을 수행합니다.

    1. 사용할 Fuse Console 템플릿을 확인합니다.

      • 클러스터 템플릿(fuse-console-cluster-os4.json)
      • 구성 가능한 RBAC가 있는 클러스터 템플릿(fuse-console-cluster-rbac.yml)
      • 네임스페이스 템플릿(fuse-console-namespace-os4.json)
      • 구성 가능한 RBAC가 있는 네임스페이스 템플릿(fuse-console-namespace-rbac.yml)
    2. 다음 예와 같이 NGINX_CLIENT_BODY_BUFFER_SIZE,NGINX_PROXY_BUFFERS 및/또는 NGINX_SUBREQUEST_OUTPUT_BUFFER_SIZE 환경 변수를 포함하도록 Fuse Console 템플릿의 로컬 사본을 편집합니다.

      apiVersion: apps.openshift.io/v1
      kind: DeploymentConfig
      metadata:
        name: fuse-console
      spec:
        template:
          spec:
            containers:
            - env:
              - name: NGINX_CLIENT_BODY_BUFFER_SIZE
                value: 256k
              - name: NGINX_PROXY_BUFFERS
                value: 16 128k
              - name: NGINX_SUBREQUEST_OUTPUT_BUFFER_SIZE
                value: 100m
    3. 변경 사항을 저장하십시오.
    4. OpenShift 4.x에서 Fuse Console 설정에 설명된 대로 Fuse Console을 설치하고 배포하는 단계를 따르십시오.
  • Fuse 콘솔을 배포한 후 환경 변수를 설정하려면 다음을 수행합니다.

    1. 터미널 창에서 OpenShift 클러스터에 로그인합니다.
    2. Fuse Console이 배포된 프로젝트를 엽니다. 예를 들어 Fuse Console이 myfuse 프로젝트에 배포된 경우 다음 명령을 사용합니다.

      oc project myfuse

    3. Fuse Console 배포의 이름을 가져옵니다.

      oc get deployments

      이 명령은 현재 프로젝트에서 실행 중인 배포 목록을 반환합니다. 예를 들면 다음과 같습니다.

      NAME                        READY   UP-TO-DATE   AVAILABLE    AGE
      fuse-console                1/1     1               1           114m
    4. 다음 명령 중 하나 이상을 실행하여 Fuse Console 배포의 환경 변수를 설정합니다.

      oc set env dc/fuse-console NGINX_CLIENT_BODY_BUFFER_SIZE="256k"
      
      oc set env dc/fuse-console NGINX_PROXY_BUFFERS="16 128k"
      
      oc set env dc/fuse-console NGINX_SUBREQUEST_OUTPUT_BUFFER_SIZE="10m"

      OpenShift는 Fuse Console을 재배포합니다.

    5. 재배포가 완료되면 환경 변수 설정을 확인합니다.

      1. Fuse Console Pod 이름을 가져옵니다.

        oc get pods
      2. 다음 명령을 실행하여 환경 설정 보기

        oc exec <fuse-console-podname> -- cat /opt/app-root/etc/nginx.d/nginx-gateway.conf | grep "Performance tuning" -A 3

        예를 들어 Pod 이름이 fuse-console-6646cbbd4c-9rplg 이면 다음 명령을 실행합니다.

        oc exec fuse-console-6646cbbd4c-9rplg -- cat /opt/app-root/etc/nginx.d/nginx-gateway.conf | grep "Performance tuning" -A 3

2.6.3. Fuse Console에서 애플리케이션을 볼 수 있는 성능 튜닝

Fuse 콘솔의 성능 튜닝 기능을 통해 많은 수의 Cryostat로 애플리케이션을 볼 수 있습니다. 이 기능을 사용하려면 다음 단계를 수행합니다.

사전 요구 사항

프로세스

  1. 애플리케이션의 메모리 제한을 늘립니다.

    Fuse 콘솔에 도달하기 전에 애플리케이션이 OOM 오류와 충돌하지 않도록 메모리 제한을 256Mi에서 512Mi로 늘려야 합니다. Fuse quickstart의 경우 애플리케이션의 src/main/jkube/deployment.yml 파일을 편집합니다.

    spec:
      template:
        spec:
          containers:
            -
              resources:
                [...]
                limits:
                  cpu: "1.0"
                  memory: 512Mi
  2. Fuse Console Deployment 또는 DeploymentConfig 에 충분한 메모리 제한이 있는지 확인합니다. 충분하지 않은 경우 제한을 200Mi에서 512Mi로 늘립니다.
  3. nginx 로그에 "too big subrequest 응답이" 오류가 표시되면 2.6.1절. “Fuse Console Operator 설치를 위한 성능 튜닝” 섹션에 언급된 솔루션을 적용합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.