変換にかかる時間を短くする方法

変換にかかる時間を短くする方法

変換ジョブを投入してから変換が完了するまでの所要時間は、大きく下記の2つに分けられます。
  1. 変換が開始されるまでのキュー内での待ち時間
  2. 変換が開始されてから完了するまでの処理時間
それぞれの時間を削減するためのポイントについて説明します。

変換が開始されるまでのキュー内での待ち時間を減らす

複数のファイルを処理する際の処理効率を上げることで待ち時間を減らすことができます。
そのためには各変換キューに割り当てられた処理スレッド数を実際の運用状況にあわせてチューニングする必要があります。

変換スレッド数はJobProcessor.configにて下記のように設定されています。
thread.single = 3
thread.drw = 3
thread.pdf = 3
上記の".single"".drw"".pdf"はキュー名を表しています。それぞれ下記のようになります:

single
単一ページを生成する際に使用される変換スレッド
drw
CADや画像ファイルを変換する際に使用されるスレッド
(HTMLビューアのサムネイルも含む)
pdf
PDFファイルを変換する際に使用されるスレッド

※".single"".drw"".pdf"等の各キュータイプと各ファイルフォーマットのマッピングは、Bravaサーバー設定ファイル(server.properties)内で定義されています。

同時処理数の多いキューに、より多くのスレッドを割り当てます。
たとえば、PDFファイルを多く取り扱っている環境では、"thread.pdf"の数をもっとも多くなるよう設定します。
スレッド数の合計は、最大でJobProcessor サーバーのCPU 論理コア数の3倍の値まで設定可能です。

注意
  1. 上記は Bravaであらかじめ用意されている内蔵ドライバーを使用した変換方式で適用される方法です。
    外部アプリケーションを使用する変換では、JobProcessorマシンの数自体を増やすスケールアウトの方法を採用することで、変換処理のスループットを向上させてください。
  2. スレッド数に関して、3d以外のスレッド数は少なくとも1以上に設定してください。
    0にすると、仮にそれらのファイルのジョブが投入された場合に処理がスタックします。

変換が開始されてから完了するまでの待ち時間を減らす

この所要時間は、マシンスペックと対象ファイル自体のボリュームに依存するため、容易に減らすことはできません。
JobProcessorのマシンスペックを向上させるか、もしくは変換対象のファイル自体の構成を見直すことで変換処理時にJobProcessorが行う内部処理量を減らす必要があります。

ファイル構成見直しの例
  1. ファイルに含まれる画像の解像度を下げる
  2. 外部参照ファイルを減らす(CADの場合など)
  3. 内部で使用されているフォントをあらかじめ埋め込みする(PDF)
    ※埋め込まれていないフォントはJobProcessorが変換時に置き換えする処理が発生するため