BuildPDFFromDocumentsステップを最適化する
以下のすべてが当てはまる場合、あなたのシステムはこの構成に適しています。
- 単一のPDFジョブをより速く処理することが、総スループットよりも重要である。
- PDFジョブに多くの文書が含まれているか、複雑なルールを使用しているため、処理に時間がかかる。
- ステップで使用するシステムに十分なハードウェアリソースがある(または取得できる)。処理に使用される各スレッドは、メモリー使用量やその他の活動を管理するために3つか4つのバックグラウンドスレッドを必要とするため、システムには多くのCPUコアが必要です。また、プライマリーコンピュータまたはセカンダリーサーバとしてセットアップする追加サーバで、この処理に使用できる16GB以上のRAMが必要です。
- チームのメンバー が、システムのパフォーマンスを監視するために必要なスキルとツールを備えている。システムを正しく調整するためには、以下を監視できる必要があります。
- Javaプロセスで使用されるメモリー
- Javaガベージコレクション
- システムメモリー使用量
- CPU使用率
- リソーススワッピング
- システムI/O
この構成では、複数のスレッドを使用して BuildPDFFromDocuments ステップを実行するようにシステムを設定します。また、ステップを別のJava仮想マシン(JVM)で実行する必要があります。独自のJVMでステップを実行するには、セカンダリーサーバーを作成し、そのサーバー上で実行するようにBuildPDFFromDocumentsステップを調整します。そのサーバーで実行されるように他のステップを設定しないでください。
セカンダリーサーバーは、1次コンピューター(ローカルセカンダリー)または別のシステム(リモートセカンダリーに作成できます。
BuildPDFFromDocumentsのステップを最適化するには、以下の手順を行います。
- ローカルのセカンダリーを作成するか、リモートセカンダリーサーバを使用するか、どちらの構成がお客様の環境に最適かを決定します。
ローカルのセカンダリーの使用が可能かどうかを判断するには、トピックJavaのメモリー割り当てを調整するをご覧ください。ローカルのセカンダリーサーバーには、少なくとも16GBのRAMを割り当てることをお勧めします。このトピックで計算した結果、16GBのRAMが使用可能であるか、システムに追加のメモリーをインストールできる場合は、ローカルのセカンダリーサーバを使用できます。手順に進みます。
リモートセカンダリーを使用する必要がある場合は、使用するシステムに16GBのRAMがあることを確認してから、次のステップに進んでください。
- リモートセカンダリーサーバーを設定するには、リモート2次サーバーをインストールするのセクションの手順を完了してください。
- 以下の手順でローカルセカンダリーサーバーを作成します:プライマリーコンピューターでセカンダリーサーバーを定義する.
- このセカンダリーサーバーのJVM設定を更新します。
- テキストエディターで
$AIWDATA/config/jvmsettings.cfgを開きます。デフォルトでは、$AIWDATAは/aiw/aiw1です。 - 次のようなプライマリーサーバーの行をコピーしてください:
- コピーした行を更新し、
primaryをセカンダリーサーバーの サーバー名プロパティーの値に変更します。 secondary_server_name=-Xmxの後の値を、このプロセスで使用可能なメモリー量に更新します。最低でも16gは必要です。- セカンダリーサーバーの行にこの設定が含まれていない場合:
-XX:+UseG1GC、その行を更新して追加してください。 - 変更内容を保存し、ファイルを閉じます。
- テキストエディターで
startaiwを使用してRICOH ProcessDirectorを再起動し、新しい設定を適用します。- RICOH ProcessDirectorインターフェースでセカンダリーサーバーを有効にします。
- BuildPDFFromDocumentsステップテンプレートを調整します。マルチスレッド構成で使用するステップテンプレートのコピーを作成することをお勧めします。
- を開きます。
- BuildPDFFromDocumentsステップテンプレートを見つけ、右クリックして コピーを選択します。
- 一般タブで、 名前プロパティーに値を入力します。
マルチスレッド版のステップであることを明確に示す名前を選んでください。
- 調整タブで、次の操作を行います。
- PDFタブで、 PDF制御ファイルの生成のすべてのプロパティーを確認してください。
- インストールに必要なその他の設定を更新します。
- OKをクリックします。
- ステップテンプレートを有効にします。
- ステップテンプレートが使用を許可されるスレッドの最大数を設定します。
- マシンのコアの約25%のスレッド数で開始します。このステップで使用される各スレッドは、それをサポートする他のスレッドを必要とするため、ステップにすべてのスレッドを使用することはできません。例えば、16コアのサーバーを使用している場合、このステップに4スレッドを割り当てます。
- インストールに最適なスレッド数を決定するには、実験が必要になる場合があります。
$AIWDATA/config/product.cfgをテキストエディターで開きます。- number_of_threadsに使用したいスレッド数を代入して、ファイルの一番下にこの行を追加します:
- 変更内容を保存し、ファイルを閉じます。
startaiwを使用してRICOH ProcessDirectorを再起動し、新しい設定を適用します。- 新しいステップでワークフローをテストします。パフォーマンスを改善しようとしているワークフローをコピーし、現在の 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ニーズに合わせてこの設定を調整してください。
ログを見て、完全なガベージコレクションの頻度と期間を判断します。処理が完了するまでに5秒から10秒以上かかる場合は、パフォーマンスに影響する可能性があります。jvmsettings.cfgを更新するたびにRICOH ProcessDirectorを再起動してください。 - I/O使用
- Javaプロセスのメモリー使用量
- 各テスト後、設定を調整して処理を最適化します。ステップの調整が完了したら、現在のBuildPDFFromDocumentsステップの代わりにこのステップを使用するように、プロダクションワークフローを更新します。