検索

2.6. OpenShift 4.x での Fuse Console のパフォーマンスチューニング

download PDF

デフォルトでは、Fuse Console は以下の Nginx 設定を使用します。

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

注記: これらの設定の説明は、Nginx のドキュメント (http://nginx.org/en/docs/dirindex.html) を参照してください。

Fuse Console のパフォーマンスを調整するには、clientBodyBufferSizeproxyBuffers、および subrequestOutputBufferSize 環境変数を設定します。たとえば、Fuse Console を使用して多数の Pod およびルート (合計 100 のルートなど) を監視する場合、Fuse Console の subrequestOutputBufferSize 環境変数を 60m から 100m の間で設定することで、ロードタイムアウトの問題を解決することができます 。

これらの環境変数の設定方法は、OpenShift 4.x に Fuse Console をインストールする方法によって異なります。

  • Fuse Console Operator の使用
  • Fuse Console テンプレートの使用

2.6.1. Fuse Console Operator インストールのパフォーマンスチューニング

Openshift 4.x では、Fuse Console のデプロイ前後に Nginx パフォーマンスチューニング環境変数を設定できます。これを後で行うと、OpenShift は Fuse Console を再デプロイします。

前提条件

手順

Fuse Console のデプロイ前後に環境変数を設定できます。

  • Fuse Console をデプロイする前に環境変数を設定するには、以下を実行します。

    1. OpenShift Web コンソールから、Fuse Console Operator がインストールされているプロジェクトで、Operators> Installed Operators> Red Hat Integration - Fuse Console を選択します。
    2. Hawtio タブをクリックし、Create Hawtio をクリックします。
    3. Create Hawtio ページで、Form ビューConfig> Nginx セクションまでスクロールダウンします。
    4. Nginx セクションをデプロイメントしてから、環境変数を設定します。以下に例を示します。

      • clientBodyBufferSize: 256k
      • proxyBuffers: 16 128k
      • subrequestOutputBufferSize: 100m
    5. 設定を保存します。
    6. Create をクリックして Fuse Console をデプロイします。
    7. デプロイメントが完了したら、Deployments> fuse-console ページを開いて Environment をクリックし、環境変数がリストにあることを確認します。
  • Fuse Console のデプロイ後に環境変数を設定するには、以下を実行します。

    1. OpenShift Web コンソールで、Fuse Console がデプロイされているプロジェクトを開きます。
    2. Operators> Installed Operators> Red Hat Integration - Fuse Console の順に選択します。
    3. Hawtio タブをクリックし、fuse-console をクリックします。
    4. Actions> Edit Hawtio を選択します。
    5. Editor ウィンドウで、spec セクションまでスクロールダウンします。
    6. 以下のように、spec セクションで、新規の nginx セクションを追加し、1 つ以上の環境変数を指定します。

      apiVersion: hawt.io/v1alpha1
      kind: Hawtio
      metadata:
        name: fuse-console
      spec:
        type: Namespace
        nginx:
          clientBodyBufferSize: 256k
          proxyBuffers: 16 128k
          subrequestOutputBufferSize: 100m
      .
      .
      .
    7. Save をクリックします。

      OpenShift は Fuse Console を再デプロイします。

    8. 再デプロイメントが完了したら、Workloads> Deployments> fuse-console ページを開いてから Environment をクリックし、リストの環境変数を確認します。

2.6.2. Fuse Console テンプレートインストールのパフォーマンスチューニング

Openshift 4.x では、Fuse Console のデプロイ前後に Nginx パフォーマンスチューニング環境変数を設定できます。これを後で行うと、OpenShift は Fuse Console を再デプロイします。

前提条件

手順

Fuse Console のデプロイ前後に環境変数を設定できます。

  • Fuse Console をデプロイする前に環境変数を設定するには、以下を実行します。

    1. 使用する Fuse Console テンプレートを確認します。

      • クラスターテンプレート (fuse-console-cluster-os4.json)
      • 設定可能な RBAC が含まれるクラスターテンプレート (fuse-console-cluster-rbac.yml)
      • namespace テンプレート (fuse-console-namespace-os4.json)
      • 設定可能な RBAC が含まれる namespace テンプレート (fuse-console-namespace-rbac.yml)
    2. 以下の例のように、Fuse Console に使用する Fuse Console テンプレートのローカルコピーを編集し、NGINX_CLIENT_BODY_BUFFER_SIZENGINX_PROXY_BUFFERS、および/または NGINX_SUBREQUEST_OUTPUT_BUFFER_SIZE の環境変数を追加します。

      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 Console のデプロイ後に環境変数を設定するには、以下を実行します。

    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 console の強化されたパフォーマンスチューニング機能により、多数の MBean を持つアプリケーションを表示できます。この機能を使用するには、次の手順を実行します。

前提条件

手順

  1. アプリケーションのメモリー制限を増やします。

    Fuse コンソールに到達する前にアプリケーションが OOM エラーでクラッシュしないように、メモリー制限を (たとえば 256Mi から 512 Mi に) 増やす必要があります。Fuse クイックスタートの場合、アプリケーションの 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 response while sending to client」エラーが表示される場合は、「Fuse Console Operator インストールのパフォーマンスチューニング」 セクションに記載される解決策を適用します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.