性能と調整 (OP)

このセクションでは、データ更新エンジン (DUE) のパフォーマンスを最適化する方法について説明します。

DUE のパフォーマンスは、次の項目の影響を受けます。

コールグラフプロファイラを使用して、潜在するパフォーマンスのボトルネックを識別できます。コールグラフプロファイラを使用するを参照してください。

ランタイムクラス

DUE の実行の初期化時に、更新プログラムのランタイムクラスが決定されます。ランタイムクラスは、パラメータ設定、テーブルサイズ、およびソースフィーチャーパックなどの要件に基づきます。共通ルールが使用されます。使用している環境について、最適なランタイムクラスが決定されない要件が存在することがあります。この結果、長い時間が掛かるタスクが、小さいタスクよりも後にスケジュールされることがあります。これにより、総実行時間が長くなります。

実際のデータ更新実行の前に、テスト更新を実行することをお勧めします。テストの実行結果を分析し、必要に応じてランタイムクラスを最適化できます。次の手順を実行します。

  1. テストを実行します。データ更新実行の実行 (OP-CE) を参照してください。

    実際に即したテストの場合は、実際に活動中のデータ会社からコピーした会社について、このテストを実行します。

  2. テストの実行結果を出力して分析します。

    1. データ更新実行情報の出力 (ttspt2400m000) セッションを開始します。
    2. データ更新実行情報 [Flat ファイル] レポートを選択し、テスト実行データをファイルに出力します。
    3. このファイルを MS Excel にインポートすることもできます。
    4. 結果を分析します。更新タスクごとに、ランタイムクラスと時間を確認します。
  3. 次の場合に、ランタイムクラスを最適化します。

    • 時間が掛かるタスクのランタイムクラスが低い

      そのタスクについて、高いランタイムクラスを選択します。

    • 時間が短いタスクのランタイムクラスが高い

      そのタスクについて、低いランタイムクラスを選択します。

      例: 

      • ランタイムクラスが中程度で 3 時間を要したタスク。ランタイムクラスを大きいまたは巨大に変更します。
      • ランタイムクラスが巨大で 30 分しかかからないタスク。ランタイムクラスを大きいまたは中程度に変更します。その他のタスクは、これを活用します。

    更新タスクに掛かる時間は、多くの変数に依存するので、会社ごとに異なります。このため、個々の会社または会社セットについて、更新タスクの最大持続期間を調べてからランタイムクラスを変更することが重要です。

追加サーバ
警告

システム全体の能力を DUE に使用できる場合は、CPU ごとに追加する bshell を 1 つ指定することをお勧めします。たとえば、使用している LN サーバに CPU が 8 個ある場合、追加 bshell を 8 つ指定します。

DUE は CPU への負荷が非常に高いので、追加更新タスクの個数が非常に多い場合、他のユーザの妨げになります。このため、DUE にシステム全体を使用できない場合は、追加 bshell の個数を減らします。

データ更新エンジン (ttspt2201m000) セッションの追加のサーバの個数フィールドに、データ更新エンジン の実行に使用する追加 bshell の個数を指定できます。

bshell を追加すると、複数の更新タスクを並列で開始できるので、DUE のパフォーマンスが大幅に向上します。

追加 bshell は、多数の I/O 動作を実行します。I/O サブシステムが処理可能な個数を超える bshell を追加することはお勧めしません。I/O サブシステムの I/O 能力が不明な場合は、経験則として、CPU ごとに追加 bshell を 1 つ指定します。

注意

追加のサーバの個数フィールドを 0 に設定した場合、1 つの bshell で DUE が実行されます。

処理にローカルのサーバを使用する

追加 bshell を使用する場合、データ更新エンジン (ttspt2201m000) セッションが開始されたローカルの bshell が更新タスクをスケジュールします。このローカルの bshell は、実行する必要のある更新プログラムのリストを収集し、タスクを複数の bshell に分散します。

データ更新エンジン (ttspt2201m000) セッションのローカルのサーバを使用して処理チェックボックスをオンにした場合、ローカルの bshell は更新タスクのスケジュールだけでなく、更新タスクの実行も行います。

次の設定をお勧めします。

  • ローカルのサーバを使用して処理フィールドで、追加 bshell として 1 を選択した場合は、追加のサーバの個数チェックボックスをオンにする。
  • ローカルのサーバを使用して処理フィールドで、追加 bshell として 2 以上の値を選択した場合は、追加のサーバの個数チェックボックスをオフにする。ローカルの bshell は、更新タスクのスケジュールのみを行います。ローカルの bshell が更新タスクも実行する必要がある場合、負荷が高すぎるために、別の追加 bshell 向けのタスクをスケジュールする余裕がないことがあります。

サブタスクを使用する

一部の長い実行中の更新タスクにはサブタスクがあります。これらのサブタスクはInfor によって配布されるアップグレードプログラムで定義され、DUE 実行の初期化時に作成されます。サブタスクごとに、更新タスクの一部を実行するための独自のデータ範囲があります。DUE のパフォーマンスを改善するために、サブタスクを異なる bshell で並列して実行できます。タスクがサブタスクに対応している場合は、サブタスクをマニュアルで追加、変更、または削除できます。サブタスク (ttspt2535m000) セッションのオンラインヘルプを参照してください。このセッションは、データ更新タスク (ttspt2520m100) 詳細セッションのタブで実行されます。

コールグラフプロファイラを使用する

潜在するパフォーマンスのボトルネックを特定するために、コールグラフプロファイラを有効化した状態で、データ更新エンジンを実行できます。

生成されたファイルを表示するには、ファイル (ttspt2530m000) セッションを使用します。生成されたファイルの名前のフォーマットは、次のとおりです。

profile.[bshell.pid].ttspt2203m000.[pid].html

コールグラフプロファイラを使用するには、デバッグおよびプロファイル 4GL (ttadv1123m000) セッションを開始して、コールグラフプロファイラの有効化チェックボックスをオンにします。

コールグラフプロファイラの詳細については、次のドキュメントを参照してください。

  • Infor LN - Performance, Tracing and Tuning Guide
  • Infor ES Programmer's Guide