xPrintServer - Print Job Queuing and the Maximum Supported Number of Users and Printers

Does the xPrintServer have a limit to the number of users or printers it can support? How does the xPrintServer queue jobs from a large number of users?


There isn't an upper limit to the number of users who can use the xPrintServer. Literally and potentially, it can be any number of users at all. It must be understood that the xPrintServer can only handle one print job at a time. Regardless of how many printers the xPrintServer discovered and provisioned in its printers list.

When an iOS device prints directly to an AirPrint printer, there is no queuing involved. When an AirPrint printer prints, it sends out a 'busy' message as a response to any print job requests received while printing until it is done with the current job. The 'busy' message from the printer automatically places the iOS printing subsystem in a 'Wait' state. When the printer finishes the current print job, its signal is set back to 'Ready'. iOS devices that are waiting to send print jobs are then able to send them. There is no queuing performed at the printer, and the print job traffic from the iOS devices is governed by the Red/Green ('Busy' /'Ready') signal at the AirPrint printer. Since there is no print job traffic management among the iOS devices, what occurs is basically a free-for-all to determine which iOS device gets to print next when the printer becomes available.

Similarly, there is no print job queuing mechanism in the xPrintServer. It sends the same 'Busy'/'Ready' signal as an AirPrint printer. When printing directly to an xPrintServer, iOS devices will follow the same (free-for-all) printing order as if printing to a typical AirPrint printer.

There isn't a defined limit to the number printers that the xPrintServer-Network Edition can support There is no tested limit to the number of printers that can be stored in flash memory and this limit is not defined in firmware at the time of this writing. In comparison, the Home Edition xPrintServer supports only 2 Network printers and supports up to 8 USB printers attached to the USB port.

In the field the xPrintServer has been known to discover upwards of 200 printers. A large number of printers takes the xPrintServer a long time* to discover and provision before getting to operational state. The discovery/provisioning processes are resource intensive and, with so many printers, the xPrintServer may become unresponsive. Operation returns to normal when printer discovery and provisioning completes. This is not typically seen in networks with a small number of printers. For networks with large numbers of printers, the ability to disable printer auto-discovery was made available in version 2.0.0-43. Disabling printer auto-discovery can be performed in networks where there are too many printers to discover and configuring printers manually is preferred/optimal.

Technical Support's recommendation is to allocate one xPrintServer to every 7-10 printers on a network. This will help with resource usage/availability on the xPrintServer, as well as better service availability for the users who desire to print.

With coordinated use of the Printer Sharing/Hide feature across several xPrintServers in a network, printers (and, indirectly, print jobs) can be distributed evenly between the xPrintServers to provide maximum printer availability to users.

Hiding printers can also be used to keep the xPrintServer from re-discovering/re-provisioning previously provisioned printers. Hiding is recommended over deleting printers that are not meant to be advertised to iOS devices. Deleted printers will be re-discovered/re-provisioned when the xPrintServer is rebooted.

See FAQ# 1700 - Share a specific printer or printers when the xPrintServer discovers multiple printers

*The discovery and provisioning mechanism in the xPrintServer may take up to three minutes per printer. When provisioning a printer takes longer than three minutes (for whatever reason), it moves to the next printer in the discovered printers list. Printer provisioning will occur for each printer in the discovered printers list. An already-discovered printer model is treated as a separate distinct printer. This means that if make/model 'xxx' printer was already discovered and provisioned and is encountered again in the printer list several printers later, then it will be provisioned again as a separate distinct printer.



[Originally Published On: 06/21/2012 11:59 AM]