How many printers can the Microsoft Universal Print connector support?
The number of printers that the Connector can support depends upon the specifications of the machine that it is running on. These are recommendations for the maximum number of printers that can be registered on 2 different Azure Virtual Machine sizes, each running Windows Server 2019 Datacenter (1809):
|Azure VM size||Recommended maximum number of registered printers||Time taken to initialize printers after Print Connector Service restart||Time taken to enumerate printers in the Print Connector App|
|Azure Standard_B2s VM (2 vCPUs, 4GB RAM)||150||6 minutes||10 seconds|
|Azure Standard_B2ms VM (2vCPUs, 8GB RAM)||600||20 minutes||40 seconds|
All of the numbers above are estimates based on typical usage. Each customer will have a unique setup that will affect the amount of load on the Connector. The following setup was used in our test environment:
- We ensured that the Connector was capable of handling print jobs being sent at a higher than typical rate. In total, 1200 jobs of typical sizes were sent to the Connector over 90 minutes, and each job was sent at random to one of the registered printers. This resulted in approximately 4 printers simultaneously processing jobs at any given time.
- Other setups may not be able to reach this level of job throughput. For example, lower network bandwidth or larger job sizes may prevent the Connector from downloading jobs as quickly, resulting in slower printing times and reduced throughput.
- Note that printers registered with a Connector will only process 1 job at a time. If multiple jobs are sent to a single printer, the other jobs will wait until the first one is completed. If jobs are sent to multiple printers, each printer will process 1 job at a time, but they will do so in parallel. Future documentation will cover the maximum number of printers that can be printing in parallel before print job processing slows down.
- All of the printer registrations were completed before sending print jobs to them.
- The printers were created using a selection of commonly used drivers from multiple manufacturers to ensure realistic resource usage. These were "virtual" printers that printed to files instead of producing physical output.
- The VMs were not used for any other workloads besides running the Connector. No additional printing software was installed besides the printer drivers. If there is printing software installed that performs additional processing on print jobs, it will reduce the number of printer registrations that can be supported.
Under these conditions, the main factor that affects the number of printers that can be registered is the amount of memory available on the machine. Memory usage increased by approximately 700MB for every 100 registered printers. On top of that, sending jobs at a rate of 800 jobs per hour resulted in a memory usage increase of approximately 700MB. When establishing the recommendations above, we aimed to keep the system's total memory usage below 90% of the VM's total memory.
We recommend customers follow this process when registering a large number of printers with the Connector:
- Check the machine's overall memory usage before any printers are registered, and use the figures above to estimate how many printers can safely be registered.
- After registering all of the printers, restart the Print Connector Service and monitor memory usage. For Azure VMs you can do this on the Metrics page under the VM in Azure Portal. Without any print jobs, the Service's maximum memory usage occurs during restart when it initializes all of the printers.
- Continue to monitor memory usage once the printers are under typical load.
If the machine runs out of memory, the Connector will no longer be able to print jobs reliably. If memory usage is observed to be 90% or greater, we recommend one of the followng:
- Increase the amount of memory on the machine, or
- Install and reregister some printers on a Connector running on a different machine, use Swap Printer to move the Printer Shares to the newly registered printers, then unregister and uninstall those printers from the old Connector machine.