BuildPDFFromDocumentsステップを最適化する

BuildPDFFromDocumentsス テ ッ プは、RICOH ProcessDirectorで特定 さ れた文書からPDFジョブを作成する、リソースを大量に消費す るステップです。文書数が多い場合、またはファイルに複雑なルールを使用している場合、このステップの処理時間は分単位ではなく時間単位で測定されます。非常に大規模または非常に複雑なジョブの場合、このステップの処理時間を短縮するための高度な設定オプションが利用できます。
    重要:
  • この構成は非常に高度です。すべてのRICOH ProcessDirectorの実装には推奨されません。

以下のすべてが当てはまる場合、あなたのシステムはこの構成に適しています。

  • 単一のPDFジョブをより速く処理することが、総スループットよりも重要である。
  • PDFジョブに多くの文書が含まれているか、複雑なルールを使用しているため、処理に時間がかかる。
  • ステップで使用するシステムに十分なハードウェアリソースがある(または取得できる)。処理に使用される各スレッドは、メモリー使用量やその他の活動を管理するために3つか4つのバックグラウンドスレッドを必要とするため、システムには多くのCPUコアが必要です。また、プライマリーコンピュータまたはセカンダリーサーバとしてセットアップする追加サーバで、この処理に使用できる16GB以上のRAMが必要です。
  • チームのメンバー が、システムのパフォーマンスを監視するために必要なスキルとツールを備えている。システムを正しく調整するためには、以下を監視できる必要があります。
    • Javaプロセスで使用されるメモリー
    • Javaガベージコレクション
    • システムメモリー使用量
    • CPU使用率
    • リソーススワッピング
    • システムI/O

この構成では、複数のスレッドを使用して BuildPDFFromDocuments ステップを実行するようにシステムを設定します。また、ステップを別のJava仮想マシン(JVM)で実行する必要があります。独自のJVMでステップを実行するには、セカンダリーサーバーを作成し、そのサーバー上で実行するようにBuildPDFFromDocumentsステップを調整します。そのサーバーで実行されるように他のステップを設定しないでください。

セカンダリーサーバーは、1次コンピューター(ローカルセカンダリー)または別のシステム(リモートセカンダリーに作成できます。

    注意:
  • リモートセカンダリーを使用するには、セカンダリーサーバー機能を購入し、そのシステムにインストールする必要があります。

BuildPDFFromDocumentsのステップを最適化するには、以下の手順を行います。

  1. ローカルのセカンダリーを作成するか、リモートセカンダリーサーバを使用するか、どちらの構成がお客様の環境に最適かを決定します。

    ローカルのセカンダリーの使用が可能かどうかを判断するには、トピックJavaのメモリー割り当てを調整するをご覧ください。ローカルのセカンダリーサーバーには、少なくとも16GBのRAMを割り当てることをお勧めします。このトピックで計算した結果、16GBのRAMが使用可能であるか、システムに追加のメモリーをインストールできる場合は、ローカルのセカンダリーサーバを使用できます。手順に進みます。

    リモートセカンダリーを使用する必要がある場合は、使用するシステムに16GBのRAMがあることを確認してから、次のステップに進んでください。

  2. リモートセカンダリーサーバーを設定するには、リモート2次サーバーをインストールするのセクションの手順を完了してください。
      注意:
    • リモートのセカンダリーサーバーからアクセスできるように、/aiwファイルシステムをエクスポートする必要があります。これらの手順では、NFSを設定し、それを使用してエクスポートを行う手順を説明します。別の方法を使用したい場合は、社内の手順に従ってエクスポートを設定してください。

    RICOH ProcessDirectorでセカンダリーサーバを定義する場合は、 汎用サーバープールプロパティーを いいえに設定し、 最大リソース集中ステップ1 のままにします。

  3. 以下の手順でローカルセカンダリーサーバーを作成します:プライマリーコンピューターでセカンダリーサーバーを定義する.
    汎用サーバープールプロパティーを いいえに設定し、 最大リソース集中ステップカウント1のままにします。
      注意:
    • セカンダリーサーバを作成したら停止します。BuildPDFFromDocumentsステップテンプレートはまだ調整しないでください。
  4. このセカンダリーサーバーのJVM設定を更新します。
    1. テキストエディターで$AIWDATA/config/jvmsettings.cfgを開きます。
      デフォルトでは、$AIWDATA/aiw/aiw1です。
    2. 次のようなプライマリーサーバーの行をコピーしてください:
      primary=-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true

      それをファイルの新しい行に貼り付けます。

      primary=-Xmxの後の値は、RICOH ProcessDirector Javaランタイム環境が、RICOH ProcessDirector プライマリープロセスに対して使用を許されるヒープメモリーの最大量です。この例では、プライマリーサーバーはヒープに2048MB(2GB)のRAMを使用できます。

    3. コピーした行を更新し、primaryをセカンダリーサーバーの サーバー名プロパティーの値に変更します。
    4. secondary_server_name=-Xmxの後の値を、このプロセスで使用可能なメモリー量に更新します。最低でも16gは必要です。
    5. セカンダリーサーバーの行にこの設定が含まれていない場合:-XX:+UseG1GC、その行を更新して追加してください。
    6. 変更内容を保存し、ファイルを閉じます。
  5. startaiw を使用してRICOH ProcessDirectorを再起動し、新しい設定を適用します。
  6. RICOH ProcessDirectorインターフェースでセカンダリーサーバーを有効にします。
  7. BuildPDFFromDocumentsステップテンプレートを調整します。
    マルチスレッド構成で使用するステップテンプレートのコピーを作成することをお勧めします。
    1. ワークフロー ステップテンプレート を開きます。
    2. BuildPDFFromDocumentsステップテンプレートを見つけ、右クリックして コピーを選択します。
    3. 一般タブで、 名前プロパティーに値を入力します。

      マルチスレッド版のステップであることを明確に示す名前を選んでください。

    4. 調整タブで、次の操作を行います。
      • 詳細な調整このステップをマルチスレッド処理に設定してください。
      • 使用するサーバー特定のサーバーで実行に設定し、作成したセカンダリーサーバーだけを選択します。
    5. PDFタブで、 PDF制御ファイルの生成のすべてのプロパティーを確認してください。
      • ステップで1つ以上のコントロールファイルを使用している場合、ビルドライブラリーデフォルトまたは制御ァイルを使用に設定されていることを確認してください。
      • ステップで制御ファイルを使用しない場合は、ビルドライブラリーPDF Java Toolkitに設定します。
        注意:
      • PDFタブの値は、ワークフローごとに異なることがあります。このステップテンプレートをワークフローに追加した後、必要に応じてこれらの値を更新してください。
    6. インストールに必要なその他の設定を更新します。
    7. OKをクリックします。
  8. ステップテンプレートを有効にします。
  9. ステップテンプレートが使用を許可されるスレッドの最大数を設定します。
    • マシンのコアの約25%のスレッド数で開始します。このステップで使用される各スレッドは、それをサポートする他のスレッドを必要とするため、ステップにすべてのスレッドを使用することはできません。例えば、16コアのサーバーを使用している場合、このステップに4スレッドを割り当てます。
    • インストールに最適なスレッド数を決定するには、実験が必要になる場合があります。
    1. $AIWDATA/config/product.cfgをテキストエディターで開きます。
    2. number_of_threadsに使用したいスレッド数を代入して、ファイルの一番下にこの行を追加します:
      useBuildPdfMT_MaxThreads=number_of_threads
        注意:
      • 4スレッドから始めることをお勧めします。
    3. 変更内容を保存し、ファイルを閉じます。
  10. startaiwを使用してRICOH ProcessDirectorを再起動し、新しい設定を適用します。
  11. 新しいステップでワークフローをテストします。
    パフォーマンスを改善しようとしているワークフローをコピーし、現在の BuildPDFFromDocumentsステップをマルチスレッドバージョンに置き換えることをお勧めします。代表的なジョブをワークフローで実行します。

    テスト中は、以下を監視してください。

    • Javaプロセスのメモリー使用量

      プロセスがJavaメモリー用に設定された最大値に達しており、それでもパフォーマンスが許容できない場合は、メモリ割り当てを増やすことを検討してください。Javaのメモリー割り当てを調整するに記載されているガイドラインに従ってください。jvmsettings.cfgファイルを更新するたびに、セカンダリーサーバを再起動します。

    • システムメモリー使用量
    • CPU使用率
    • リソーススワッピング
    • Javaガベージコレクション

      ガベージコレクションのスレッドがたくさん表示される場合は、ガベージコレクションのロギングを有効にしてください。jvmsettings.cfgを更新して、これらのパラメーターを追加してください:

      • -verbose:gc
      • -XX:+PrintGCDetails
      • -XX:+PrintGCTimeStamps
      • -XX:+PrintGCDateStamps
      • -Xloggc:/aiw/aiw1/trace/gc_secondary.log
      • -XX:+UseGCLogFileRotation
      • -XX:NumberOfGCLogFiles=10

        ニーズに合わせてこの設定を調整してください。

      • -XX:GCLogFileSize=8m

        ニーズに合わせてこの設定を調整してください。

      jvmsettings.cfgを更新するたびにRICOH ProcessDirectorを再起動してください。

      ログを見て、完全なガベージコレクションの頻度と期間を判断します。処理が完了するまでに5秒から10秒以上かかる場合は、パフォーマンスに影響する可能性があります。
    • I/O使用

  12. 各テスト後、設定を調整して処理を最適化します。ステップの調整が完了したら、現在のBuildPDFFromDocumentsステップの代わりにこのステップを使用するように、プロダクションワークフローを更新します。