Printer Load Balancing

Printer load balancing means distributing the printing load between two or more printers. While this can be implemented quite effectively by relying on users to pick a printer that is free, thereby distributing the load, the term generally refers to automatically managed load balancing.

Load balancing can be implemented in PaperCut MF as part of Find Me Printing as discussed in the proceeding section, or separately without the need for release stations in a direct printing environment. This section discusses load balancing in general including how it works, as well as how to set it up in a direct printing environment (without release stations).

Load balancing can be implemented at several different layers (none of which are usually mutually exclusive), including:

PaperCut MF adds value to the load balancing available in clusters and operating systems by ensuring equal load between printers. For comparison the primary objective of Windows printer pools is to provide fault tolerance while load balancing is secondary and to a large extent non-existent. Printer pooling on Windows will often simply pick the first available printer in a predefined order. The result is that wear and tear of printers is not even; the first printer in the group will see the heaviest usage and the others may be mostly idle. System administrators often mitigate this by rotating printers periodically. With load balancing in PaperCut MF none of this is necessary: jobs are distributed evenly between queues based on intelligent algorithms taking into account several factors:

Find Me Printing also makes use of printer load balancing while giving users the option of where to send their print job. For more information about Find Me Printing see the section called “Find Me Printing”.

Implementing load balancing in PaperCut MF is best described by way of example. The following section covers a common scenario for implementing printer load balancing.

Example 1: Simple Load Balancing

Scenario

The science department at East Beach High School has a computer lab with a high volume of printing. Students send their print jobs to the nearby print lab, which hosts two high volume laser printers of the same model.

The current print queues are named sci_laser_1 and sci_laser_2, and are hosted on the print server called science-lab. Both queues use the same printer driver and settings.

In this scenario there is some natural form of load balancing, as students may select a queue at random or perhaps know which queue is available. Ideally this load balancing would be automatic, and students would not need to concern themselves with which queue to select.

Implementation

The first step is to create a new print queue on the print server. This queue will be a virtual queue. Students will print to this virtual queue, and PaperCut MF will handle the load balancing to the target ("real") queues.

A new queue simply called sci_laser is created by the administrator on the science_lab print server using the normal methods for the operating system in use. The queue is created using the same driver that sci_laser_1 and sci_laser_2 use. The queue points to the same physical printer that sci_laser_1 points to. This last point is not strictly necessary but some printer drivers complain if they do not point to a real printer.

The administrator ensures that the print queue has registered itself with PaperCut MF by checking the Printers tab of the administration interface. Information about adding printers can be found in the section called “Adding and Removing/Deleting/Ignoring Printers”.

Following creation of the new queue the administrator performs the following:

  1. Navigates to Printerssci_laserSummary in the PaperCut MF administration interface.

  2. Changes the Queue type option to This is a virtual queue (jobs will be forwarded to a different queue). This reveals the Job Redirection Settings section.

  3. The option Jobs may be forwarded to these queues: determines which queues sci_laser is capable of redirecting to. The queues science-lab/sci_laser_1 and science-lab/sci_laser_2 are selected.

  4. Clicks OK.

Now when students print from a lab computer to the virtual sci_laser queue PaperCut MF will intelligently redirect the job to either sci_laser_1 or sci_laser_2, as illustrated by Figure 14.5, “Simple Load Balancing”.

The administrator may now optionally un-share the sci_laser_1 and sci_laser_2 queues. Doing so ensures that all printing will be via sci_laser and hence load balanced.

Simple Load Balancing

Figure 14.5. Simple Load Balancing

Bypassing Load Balancing For Recent Print Jobs

Students printing multiple documents may not want their print jobs distributed between multiple printers - especially when they're at opposite ends of the lab! PaperCut provides the capability to bypass Load Balancing for multiple recent print jobs.

By default, this feature is enabled and is set to a window of 20 seconds - that is - a print job will not be considered for Load Balancing if a user has printed up to 20 seconds ago, and will instead be sent to the previous job's destination.

To configure this setting, navigate to OptionsConfig Editor (Advanced) and modify the config setting print.load-balancer.default.reuse-printer-window-seconds.

Setting this value to 0 will disable this feature.