Print data flow

プリントサーバを適切に設計するには各機器がどの部分でボトルネックになるかを考えなければなりません。上記図はプリントサーバ構成の場合のプリントデータの流れを示しています。まず、ワード、エクセルなどのアプリで生成されたデータを印刷する場合、EMFデータというベクターデータがWindows OSにより生成されます。このEMFデータをプリンタドライバが受け取り、プリンタ制御用のデータ(PDLデータ)に変換して行きます。このPDFデータがプリントサーバの各プリンタ用のキューに送り込まれます。このキューの中でプリンタがReadyになり受信許可信号が来るたびにデータがプリンタに送られていきます。プリンタ側は最近の高速複合機などでは、データ受信用にSSDやHDDのドライブを持っており、かなり多くのジョブをためておくことが出来ます。つまり、このプリンタ側の受信バッファが大きければ、プリントサーバのキューに入ったデータは即座にプリンタに送られていきます。高速プリンタを使った場合はプリントサーバはデータ送信の面ではボトルネックになりにくいということになります。

最近の設定では多くの場合、プリントデータのレンダリング、つまりEMFからPDLに変換するところを、ワークステーション側のPCで行うように設定するケースが多いです。この設定はドライバの設定画面の詳細設定部分でセットします。こうすれば、プリント時の負荷を各ワークステーションPCへ分散することが出来ます。一方、ワークステーションPCが非力であると、逆に処理時間がかかるようになります。PC側で重たいアプリを動かしている場合は、プリントサーバ側の性能を上げ、サーバ側でレンダリングを行う設定にすべきです。

プリンタ側は受信バッファに入ってきたデータを順次処理して行きます。One by One で処理しますので、単純に1本の待ち行列が出来てしまいます。プリンタ側の主な処理はPDLデータを解析して、画像ビットマップデータに変換するところです。PostScrip Level 3は高度な画像処理が入るため、一般的にはPCLやGDIと比べて時間がかかります。

プリンタ側のボトルネックとしては、エンジンスピードとコントローラのレンダリング速度が関係してきます。プリンタは一度に1つのジョブしかイメージレンダリングできないため、非常に重いデータが入ってきた場合、コントローラが処理に時間をとられてしまい、後続のジョブを処理できなくなります。この処理速度は多くの場合、プリンタの価格に比例しますので、高いプリンタは高いなりの処理能力を持っていると考え、生産性を重視するのであれば、まずは高性能のプリンタを導入されることをお勧めします。また、PDLの種類によっても印刷スピードは変わってきます。単なるテキストを印刷する場合が多い場合はあまり問題になりませんが、パワーポイントで複雑な図形が書いてあると、PostScrip Level 3では高度なレイヤー処理を行うため、PCLに比べて時間がかかる傾向があります。一般的に、ビジネス文書の印刷に使う場合はPCLや各メーカー独自のPDLを使う方が速くなる傾向があります。各メーカのPDLとしては、キヤノンLIPS、Ricoh RPCS,Fuji Film ArtEX、EPSON ESCPなどが挙げられます。

エンジンスピードに関しては、あくまで素通しで回したときのスピードですので、結局はある程度のエンジンスピードが有れば、ボトルネックはコントローラがボトルネックになります。それから、参考までにインクジェットプリンタとレーザープリンタのスピードは定義が異なるため、同一の比較は出来ません。いくらインクジェット機が速いスピードをカタログに記載していても、レーザーに比べて連続印刷では一般的には遅くなります。