Factors Influencing Print Server Performance
Updated: February 7, 2005
Applies To: Windows Server 2003
This section examines some of the different factors that can influence print server performance.
Number of Print Server Clients
Print server clients are those client computers and applications that have established connections to a print server. These clients may currently be in the process of a submitting a print job or they may have finished submitting a print job and not yet closed their connection to the print server.
Each connection, or named pipe, to the print spooler on a print server uses some limited system resources. Depending on the application used to connect to the print server, some of these connections may remain open, continuing to use resources for many hours or, in some cases, many days. It is possible for a print server to become resource-constrained simply because there are too many open client connections. Because of these lingering connections, there may be more active clients on the print server than you might expect.
The Windows Point and Print Technical Overview presents more information about these connections and provides information about using Named Pipes with remote procedure call (RPC) connections.
Client Operating System
Client computers running older versions of Microsoft Windows, such as Windows 95, Windows 98, or Windows Millennium Edition, perform more print processing on the client computer than those clients running Windows 2000 or later versions of Microsoft Windows. As a result, clients running the older versions of Windows place less of a load on the print server than clients running a later version of Windows. Upgrading a client to Windows 2000 or later will shift some of the print processing to the print server which will improve print performance on the client computer but add an additional workload to the server.
The system administrator or capacity planner should consider the additional print server workload resulting from the upgrade of many machines to Windows 2000 or later versions of Windows during the capacity planning process. The overall change in print server performance depends on the percentage of clients originally running older versions of Microsoft Windows—the greater the percentage of older versions of Windows that are upgraded, the greater the change in print server performance.
The Windows Point and Print Technical Overview provides more information about this topic.
Type of Print Jobs
Complex print jobs, such as those containing detailed graphics, PDF files, or many different fonts, require more CPU processing than simpler documents. The proportion of this processing performed on the client computer versus the print server depends on the operating system the client computer is running. If the client computer is running Windows 2000 or a later version of Windows, the print server will perform more of this processing workload.
This is an important factor to consider as it will affect both the overall server requirements as well as the change in server workload resulting from the upgrade of older clients to newer versions of Windows.
Number, Size, and Frequency of Print Jobs
The available network bandwidth to a print server computer will affect the number, size, and frequency of print jobs that print server will be able to process. The size and type of disk drives installed the print server will determine how many jobs may be queued and processed at one time. For example, in an environment where clients frequently submit small jobs the disk space requirements are different than in one where clients submit larger print jobs, less often. Further, if your organization needs to save print jobs after printing, the number, size, and frequency of print jobs will be important factors when determining the size of the print server hard disk configuration.
The types of printer devices served by the print server affect the throughput and performance of a Windows print server. Higher-end printers can typically accept more complex data and perform the necessary rendering, processing and production steps internally. Less expensive devices, those having less internal processing and memory capacity, require the Windows print server to perform the necessary rendering, processing and formatting.
The processing speed and internal storage of a printer device also influence the time required for the printer to accept a print job from a Windows print server. The longer it takes to send a print job to the printer, the longer that job remains on the print server’s hard disks and the more disk space the job requires on the print server.
When selecting printer hardware for your organization, consider the installable options that may help improve printer and print server performance. Standardizing printer models and selecting configurations that enable the printer to perform more print-job processing can help improve print server performance.
Printer device and driver reliability are also important considerations for selecting printers. Microsoft recommends using the user-mode printer drivers supplied with Microsoft windows 2000 and Microsoft Windows Server 2003 or drivers provided by printer manufacturers displaying the Designed for Windows logo.
Types of Printer Drivers
The number of different driver types supported by a print server has a direct influence on the scalability of the print server. Each additional printer driver requires additional system resources and registry accesses. The fewer system resources used to support a printer, the more of those printers the print server may support and the fewer system resources each print job uses.
For more information about driver architecture, testing, and selection, read Choosing the Right Printer Drivers, found at http://www.microsoft.com/windows2000/technologies/fileandprint/print/default.asp.
Print Server Configuration
To achieve maximum performance and capacity for dedicated print servers, consider the following configuration settings.
Microsoft recommends that the Maximize performance for file sharing option be set on dedicated print servers. This setting configures the server to dedicate as many resources as possible to file and print server services.
To view or change server optimization settings:
From the Start menu, point to Settings, and then click Control Panel.
Double-click Network and Dial-up Connections.
Double-click Local Area Connection, and then click the Properties button.
In the Local Area Connection Properties dialog box, double-click File and Printer Sharing for Microsoft Networks.
Under Optimization, if you are running Windows Server 2003, the Maximize Data Throughput for File Sharing option is selected by default.
The following table shows the values for the LargeSystemCache entry with the corresponding options under File and Printer Sharing for Microsoft Networks Properties.
|Registry value||User interface option||Description||Notes|
Maximize data throughput for network applications
Optimizes systems for distributed applications that typically do their own memory caching (such as SQL Server, which sets this option by default). This setting is useful for computers providing application services because it favors the working sets of processes over the working set of the file system cache.
This setting is useful for larger server applications and database servers such as SQL Server that need to maximize process working sets over the file system cache working set.
Maximize data throughput for file sharing
Optimizes the system for file and printer sharing resources. This is the default set by Windows 2000 Server Setup.
If you have at least 128 MB of RAM, this value results in a very high maximum size for the cache working set.
The Maximize Data Throughput for File Sharing option is useful for computers that typically run the Server service for file sharing
On Windows 2000 the file system cache working set can be increased by 464 MB of additional virtual address space (up to 960 MB) if the system has less than 16 GB of RAM, is not configured to start with the /3GB Boot.ini switch, and the PagedPoolSize entry is set to a value other than 0xFFFFFFFF (or 0 on systems with more than 1 GB of RAM), such as 192000000, the system is not running Terminal Services, and the SystemPages entry is not set to 0xFFFFFFFF. For more information about how various memory-management registry entries interact, see "Optimizing Your Memory Configuration" later in this chapter.
While accepting jobs and processing them for de-spooling, the print server can perform many disk input/output (I/O) operations. Print server activity also uses memory that can cause excessive page faulting during periods of high print server activity. Overall system performance may degrade because of the system becoming I/O constrained from the combination of high page file and disk file activity.
Microsoft recommends storing spooler files on a physical disk drive or drive array that is different from the physical disk drive used by the operating system for the paging file or the operating system files. This configuration helps to minimize the influence spooler-related disk access has on the dynamic management and allocation of the paging file. The performance of SCSI hard drives can be improved by assigning each hard drive to a different SCSI RAID controller channel.
The spool folder is defined using the Advanced Settings tab on the Server Properties page shown in the following screen shot below.