8.2. 手動スレッドプールの調整

多くの環境、設定、およびワークロードでは、Open Liberty スレッドプールに手動の設定またはチューニングは必要ありません。スレッドプールの自己チューニングは、最適なサーバーのスループットを提供するために必要なスレッド数を決定します。スレッドプールコントローラーは、コアスレッド および maxThreads 属性に定義されたバインド内のプール内のスレッド数を継続的に調整 ます。ただし、コアスレッドまたは maxThreads 属性の設定が 必要 になることがあります。以下のセクションでは、これらの属性を説明し、手動で調整する必要がある可能性のある条件の例を示します。

  • coreThreads
    この属性は、プール内のスレッドの最小数を指定します。この属性の最小値は 4 です。Open Liberty は、スレッドの数がこの属性の値と同じになるまで、提供された作業ごとに新しいスレッドを作成します。coreThreads 属性 が設定されていない場合、デフォルトは Open Liberty プロセスで利用可能なハードウェアスレッドの数の倍数に設定されます。

    Open Liberty を共有環境で実行されている場合は、スレッドプールコントローラーが利用可能な CPU を共有する他のプロセスに対応できません。このような場合、coreThreads 属性のデフォルト値により Open Liberty が CPU リソースの競合している他のプロセスを考慮して、最適なスレッドを作成する可能性があります。このような場合には、Open Liberty の 実行 に必要な CPU リソースの割合のみを反映する coreThreads 属性の値を値に制限することができます。

  • maxThreads
    この属性は、プール内のスレッドの最大数を指定します。デフォルト値は -1( MAX_INT と同等)、または実質的に無制限です。

    一部の環境では、プロセスが作成できるスレッド数にハード制限を設定します。現在、Open Liberty は現在、そのような上限が適用されるかどうか、または値が何であるかを知る方法がありません。Open Liberty がスレッド制限環境で実行されている場合、Operator は maxThreads 属性を許可される値に設定できます。

Open Liberty スレッドプールコントローラーは、さまざまなワークロードおよび設定を処理するように設計されています。エッジによっては、コアスレッド および maxThreads 属性の調整が必要になる場合があります。ただし、まずデフォルトの動作を試して、調整を行う必要があります。