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을 재배포합니다.
사전 요구 사항
-
OpenShift 클러스터에 대한
클러스터 관리자
액세스 권한이 있어야 합니다. - OperatorHub를 사용하여 OpenShift 4.x에 Fuse 콘솔 설치 및 배포에 설명된 대로 Fuse Console Operator를 설치했습니다.
프로세스
Fuse 콘솔을 배포하기 전이나 후에 환경 변수를 설정할 수 있습니다.
Fuse 콘솔을 배포하기 전에 환경 변수를 설정하려면 다음을 수행합니다.
- OpenShift 웹 콘솔의 Fuse Console Operator가 설치된 프로젝트에서 Operator > Installed Operators> Red Hat Integration - Fuse Console 을 선택합니다.
- Hawtio 탭을 클릭한 다음 Create Hawtio 를 클릭합니다.
- Create Hawtio 페이지, 양식 보기 의 구성 > Nginx 섹션까지 아래로 스크롤합니다.
Nginx 섹션을 확장한 다음 환경 변수를 설정합니다. 예를 들면 다음과 같습니다.
- clientBodyBufferSize: 256k
- proxyBuffers: 16 128k
- subrequestOutputBufferSize: 100m
- 설정을 저장합니다.
- 생성 을 클릭하여 Fuse 콘솔을 배포합니다.
- 배포가 완료되면 Deployments> fuse-console 페이지를 열고 환경을 클릭하여 환경 변수가 목록에 있는지 확인합니다.
Fuse 콘솔을 배포한 후 환경 변수를 설정하려면 다음을 수행합니다.
- OpenShift 웹 콘솔에서 Fuse Console이 배포된 프로젝트를 엽니다.
- Operators> 설치된 Operators> Red Hat Integration - Fuse Console 을 선택합니다.
- Hawtio 탭을 클릭한 다음 fuse-console 을 클릭합니다.
- 작업> Edit Hawtio 를 선택합니다.
-
편집기 창에서
사양
섹션까지 아래로 스크롤합니다. spec
섹션에서 새nginx
섹션을 추가하고 하나 이상의 환경 변수를 지정합니다. 예를 들면 다음과 같습니다.apiVersion: hawt.io/v1alpha1 kind: Hawtio metadata: name: fuse-console spec: type: Namespace nginx: clientBodyBufferSize: 256k proxyBuffers: 16 128k subrequestOutputBufferSize: 100m . . .
저장을 클릭합니다.
OpenShift는 Fuse Console을 재배포합니다.
- 재배포가 완료되면 워크로드> 배포> fuse-console 페이지를 연 다음 환경을 클릭하여 목록의 환경 변수를 확인합니다.
2.6.2. Fuse Console 템플릿 설치를 위한 성능 튜닝
Openshift 4.x에서는 Fuse 콘솔을 배포하기 전이나 후에 Nginx 성능 튜닝 환경 변수를 설정할 수 있습니다. 나중에 이렇게 하면 OpenShift에서 Fuse Console을 재배포합니다.
사전 요구 사항
-
OpenShift 클러스터에 대한
클러스터 관리자
액세스 권한이 있어야 합니다. - OpenShift 4.x 서버에 Fuse 이미지 스트림 설치 및 템플릿에 설명된 대로 OpenShift에 Fuse Console 템플릿을 설치했습니다.
프로세스
Fuse 콘솔을 배포하기 전이나 후에 환경 변수를 설정할 수 있습니다.
Fuse 콘솔을 배포하기 전에 환경 변수를 설정하려면 다음을 수행합니다.
사용할 Fuse Console 템플릿을 확인합니다.
-
클러스터 템플릿(
fuse-console-cluster-os4.json
) -
구성 가능한 RBAC가 있는 클러스터 템플릿(
fuse-console-cluster-rbac.yml
) -
네임스페이스 템플릿(
fuse-console-namespace-os4.json
) -
구성 가능한 RBAC가 있는 네임스페이스 템플릿(
fuse-console-namespace-rbac.yml
)
-
클러스터 템플릿(
다음 예와 같이
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
- 변경 사항을 저장하십시오.
- OpenShift 4.x에서 Fuse Console 설정에 설명된 대로 Fuse Console을 설치하고 배포하는 단계를 따르십시오.
Fuse 콘솔을 배포한 후 환경 변수를 설정하려면 다음을 수행합니다.
- 터미널 창에서 OpenShift 클러스터에 로그인합니다.
Fuse Console이 배포된 프로젝트를 엽니다. 예를 들어 Fuse Console이
myfuse
프로젝트에 배포된 경우 다음 명령을 사용합니다.oc project myfuse
Fuse Console 배포의 이름을 가져옵니다.
oc get deployments
이 명령은 현재 프로젝트에서 실행 중인 배포 목록을 반환합니다. 예를 들면 다음과 같습니다.
NAME READY UP-TO-DATE AVAILABLE AGE fuse-console 1/1 1 1 114m
다음 명령 중 하나 이상을 실행하여 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을 재배포합니다.
재배포가 완료되면 환경 변수 설정을 확인합니다.
Fuse Console Pod 이름을 가져옵니다.
oc get pods
다음 명령을 실행하여 환경 설정 보기
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로 애플리케이션을 볼 수 있습니다. 이 기능을 사용하려면 다음 단계를 수행합니다.
사전 요구 사항
-
OpenShift 클러스터에 대한
클러스터 관리자
액세스 권한이 있어야 합니다. - OperatorHub를 사용하여 OpenShift 4.x에 Fuse 콘솔 설치 및 배포에 설명된 대로 Fuse Console Operator를 설치했습니다.
프로세스
애플리케이션의 메모리 제한을 늘립니다.
Fuse 콘솔에 도달하기 전에 애플리케이션이 OOM 오류와 충돌하지 않도록 메모리 제한을 256Mi에서 512Mi로 늘려야 합니다. Fuse quickstart의 경우 애플리케이션의
src/main/jkube/deployment.yml
파일을 편집합니다.spec: template: spec: containers: - resources: [...] limits: cpu: "1.0" memory: 512Mi
- Fuse Console Deployment 또는 DeploymentConfig 에 충분한 메모리 제한이 있는지 확인합니다. 충분하지 않은 경우 제한을 200Mi에서 512Mi로 늘립니다.
- nginx 로그에 "too big subrequest 응답이" 오류가 표시되면 2.6.1절. “Fuse Console Operator 설치를 위한 성능 튜닝” 섹션에 언급된 솔루션을 적용합니다.