非同期ワークユニットをチューニングするときに考慮するポイントを以下に示します。
同時処理数
■同時処理数
同時処理数は、プロセス数と、1プロセスあたりのスレッド数で決まります。
同時処理数 = プロセス数 × 1プロセスあたりのスレッド数 |
非同期ワークユニットで同時に処理できるクライアントのリクエスト数は、同時処理数で決まります。たとえば同時処理数を16に設定すると、16処理が同時に処理できます。クライアントからのリクエストが、処理できるリクエスト数を超えた場合は、キューイングされます。
同時処理数を決定するにあたって、プロセス数を増やすか、1プロセスあたりのスレッド数を増やすかは、業務アプリケーションの内容や、利用可能なハードウェアリソースによって決めます。
以下にそれぞれの特徴を記載します。
実行多重度項目 | 特徴 |
---|---|
スレッド数 | メモリなどのリソース消費を少なくし、かつ、多重性能を向上させたい場合に設定します。ただし、同一スレッド内の処理が異常終了した場合、同一プロセス内で動作中の要求に対する処理も異常となります。 |
プロセス数 | メモリなどのリソースはプロセスの量に応じて増加するため、プロセスが膨大な数になると、アプリケーションが異常終了しやすくなります。プロセスを分けることで、他のプロセス上で動作するアプリケーション異常終了した場合でも、影響を受けないようにすることができます。 |
プロセス数と、1プロセスあたりのスレッド数は、システム構築シートにより定義するか、直接、非同期ワークユニットの定義ファイルにより定義します。
注意
業務アプリケーションが、スレッドアンセーフなシステム関数や他製品を利用している場合には、スレッドを使用することができません。この場合は、非同期ワークユニットのプロセスモードを利用してください。このとき、同時処理数はプロセス数と同じ数値になります。
非同期ワークユニットは、IJServerとは異なり同時処理数は固定です。