Slow Network Printing and Spooling
Posted on 2009-06-29
We have a DIS (device interface server) for our SQL database application PowerPath that uses small print jobs to print out slide labels with barcodes and text. PPath uses a Crystal report to create the print job. Up until a couple of days ago, everything was peachy.
We use Zebra TLP-3448Z label printers with 1" x 0.87" labels. A normal print job of 10 labels printed from a local USB connection can print 5-7 labels per second.
The DIS Server monitors a folder, and when a file gets dropped to it, it creates a print job out of it. There are two ways the DIS server can print a file, either by spooling it to a local printer, or by spooling it to a remote workstations spooler.
Problem Case 1
In this case we're working with a workstation spool with an attached USB printer (typical of this environment). Jobs are queued from the server and take 5-6 seconds to spool down to the workstation. The workstation spools and prints the jobs immediatly. If you pause printing, and wait for jobs to build up and then print, they print very quickly until they catch up to the active job, then it's back to 5-6 seconds for the job to arrive. (One thing to note here is that the sending server's spooler maxes out to 100% every time a job is sent).
Problem Case 2
In this case we're working with a remote workstation spooling to a networked printer. Slightly Atypical for our environment, but it does happen. Jobs take between 6 and 20 seconds to print, jobs are of about 700K in size, and used to take less than a second for 3 or 4 jobs. Print spooler on the server is maxed out again when sending jobs to the remote spooler. Unlike the example above, pausing the jobs has no effect on the print speed, the device seems to only be able to handle one job at a time.
Problem Case 3
Server spooled network printer. In this case, the print jobs spool immediately queuing up quite fast, the print spooler does not hardly have to work at all. Once the jobs are spooled however, they take a long time to print (4 - 8 seconds). However in this case, the spooler is hardly working at all (5 -10% cpu).