When a print job is given to a print server, the print job itself can span multiple communication requests between the client and the server. In an NLB environment, you cannot make sure that each request is being processed by the same node. Other information, such as print job status information, would not even be possible in a NLB cluster configuration. This is because each node would have no information about the work that is being processed by the other nodes.
Because of the resource limitations in the print devices and their communication process with specific nodes in a cluster, NLB failover clustering cannot be used for a print server. Even if it were possible to send a print job successfully to an NLB failover cluster, there would be no gains in the general performance, and it would come at a significant loss of functionality and network efficiency. Gains in performance on a specific print server (failover cluster or stand-alone) would be easier to achieve by using other strategies that would not affect the management functionality of the print infrastructure.
How to configure an efficient print serverWhen the load of a print server is too high, and print requests can no longer be serviced even while printers are sitting idle, follow these steps to improve the throughput on the servers:
- Enable Client Side Rendering (CSR) on as many clients as possible
This reduces the work the server has to perform on each print job by rendering the print job on the individual clients before it sends the job to the server. Windows Vista-based and newer computers support CSR.
- Increase the resources on the server
If a server is the cause of poor performance, it will most likely encounter problems with insufficient processor power, or memory. Increasing the capabilities of those components should improve the responsiveness of the server.
- Increase the number of servers
The print infrastructure can be split across multiple servers, and new print devices can be rolled out onto new servers. Existing print devices can be relocated to the new server, but additional work would be required to migrate the existing connection clients have to the printer to reference the new server.
For environments that require high availability, you can use a failover cluster as a print server. If a node in the cluster fails, all print functionality will fail over to the next node in the cluster. To improve failover times, we recommend that the administrator for the cluster force failover to each node when new print drivers are installed on the server. During a failover, the driver installation is forced to occur on the active node. The installation of the driver on each node can require several minutes. Forcing this installation process during maintenance will make sure that any unplanned failovers during usual operation will be very quick, because the drivers will already be installed on each node.