MID Server スレッドの使用を設定する
パフォーマンス要件に従って、MID Server で使用されるスレッドの数を変更します。CPU 時間を他のプログラムと競合する MID Server が使用できるスレッドは、デフォルトよりも少なくなります。より高速で、十分に強力なホストコンピューターを必要とする MID Server は、より多くのスレッドを使用できます。
始める前に
![]() |
このタスクについて
各プールで同時に実行できるワーカースレッドの最大数を定義するパラメーターは、threads.interactive.max、threads.expedited.max、threads.max の 3 つです。スレッドパラメーターを変更すると、MID Server のパフォーマンスに影響を与える可能性があります。
インタラクティブスレッドプールは、システムコマンドやハートビートなどのインタラクティブメッセージを実行するために設計されています。一般には軽量であるため、通常はデフォルト値を変更する必要はありません。迅速化済みスレッドプールは、標準のメッセージよりも優先度が高く、インタラクティブメッセージよりも優先度が低いメッセージを実行するように設計されています。迅速化済みメッセージを大量に生成するアプリケーションがない限り、threads.expedited.max のデフォルト値を変更する必要はありません。
標準のスレッドプールが最もビジーなプールです。ほとんどのプローブがこれを使用しており、CPU、メモリなどの多くのシステムリソースを消費する可能性があります。5 個のスレッドだけを問題なく使用するように MID Server を設定できます。ホストに十分なパワーがあるか他のプログラムの負荷が軽い場合に、MID Server の速度を上げるには、スレッド設定を上げます。
スレッドの設定は、ホストマシンの CPU 速度、メモリ、およびオペレーティングシステムの制限によって異なります。ホストマシンのハードウェア制限を使い果たさないようにするには、設定を実際に試して、MID Server がビジー状態のときに最適に機能するスレッド数を特定することをお勧めします。つまり、状況に最も合うようにスレッド数を調整する必要があります。次の一般的な観察事項が役に立つ場合があります。
- PowerShell はリソースを大量に消費するため、スレッドは直線的にスケーリングできないことがあります。
- ほとんどの MID Server タスクでは、ジョブを実行するためにファイル ハンドルが必要です。
- Windows:Windows オペレーティング システムでは、ファイル ハンドルは定量で使用できます。Windows ホスト上で設定する MID Server スレッドが多すぎると、MID Server は、最大 CPU 使用率に近づく前にすべてのファイル ハンドルを消費することがあります。この状況はファイル ハンドル切れエラーとして MID Server ログに表示され、MID Server が使用しようとしているスレッドが多すぎることを示します。
- UNIX および Linux:UNIX および Linux ホストには、ファイル ハンドルを割り当てるための多くの異なるスキームがあります。通常はホストの CPU が過負荷になるまで、これらのオペレーティング システムで MID Server のスレッド使用を増やすことができます。CPU 使用率をモニタリングする方法については、OS ドキュメントを参照してください。
- MID Server上の各スレッドにはいくらかのメモリが必要です。正確なメモリ量はタスクごとに大きく異なり、また検出される機器によっても異なります。スレッド数を増やすには、Java が使用するメモリ量を増やすことが必要になる場合があります。不十分なメモリを設定すると、MID Server のログにメモリ不足エラーが表示されます。
- threads.max を 200 まで設定することができますが、OS によってはこの設定を変更する必要があります。たとえば、Discovery を実行している Windows ベースの MID Server は、リソース集約的な Powershell を使用します。この場合、スレッド数がわずか 50 でホストマシンの CPU 電力を消費する可能性があります。
以下の手順に従って、config.XML ファイルを変更します。あるいは、threads.max 接続パラメーターを使用します。詳細については、「MID Server Connection parameters (MID Server 接続パラメーター)」を参照してください。
