Professional Documents
Culture Documents
Microsoft Corporation
Published: October 2003
Abstract
Microsoft has made a number of enhancements to the printing subsystem of the Microsoft® Windows® 2000 and
the Windows Server 2003 family. Scalability and capacity play key roles in the purchase and deployment of
Windows print servers. Although this paper does not provide exact formulas for calculating maximum loads, it
does provide information that helps you size a server to meet your organization’s needs.
Microsoft® Windows Server™ 2003 White Paper
Contents
Contents................................................................................................................. .......................3
Introduction..................................................................................................................... ..............1
Summary....................................................................................................................................... .8
Introduction
Print server scalability plays a key role in the purchase and deployment of Microsoft® Windows® print
servers. The maximum load and performance level of a Windows print server is greatly dependent upon
key configuration decisions. Although this paper does not provide exact formulas for calculating
maximum loads, it does provide information that helps you size a server to meet an organization’s
needs. First, we will identify and discuss the main issues, and then we will look at some configuration
details to maximize print server performance. These key factors include the following:
• Number of clients
• Type of jobs
• Number of printers
• Type of drivers
• Type of printers
In the following sections, we will explore how each of these factors affects a print server’s maximum
load capacity.
After examining these variables and understanding how they impact a server’s load capacity, we will
look at the specific performance-related configuration settings that you can make to a dedicated print
server.
.When upgrading to Windows 2000 or Windows XP the operating system versions running in the client
environment is an important consideration, particularly if the client environment includes a substantial
percentage or majority of Windows 95, Windows 98, or Windows Millennium Edition clients. The
processor load placed on the print server is much lower with clients based on the earlier Windows
versions mentioned above than that with Windows NT–based workstations. Clients benefit from this
arrangement, because their applications are returned to users faster because the majority of the
rendering portion of the print process is offloaded to the print server.
Note: When considering the client operating system, you must plan ahead for desktop upgrades and
migrations. For example, imagine that 15,000 desktops are split evenly between Windows 98 and Windows
2000. The organization decides to upgrade completely to Windows 2000, which creates additional load from
the 7,500 new Windows 2000 clients. As a result, it may be necessary to add more processing power to the
print server by adding processors or upgrading to more powerful processors.
Types of Drivers
Scalability is closely tied to driver types because a server might be required to host many unique driver
models. For example, a server hosting 2,100 printers that use the same driver requires less registry
access and saves more spooler processing than a server hosting 2,100 printers that use 215 unique
printer drivers. For many customers, reliability and scalability go together, because
they cannot afford to be without a certain number of printers at one time. For this
reason, Microsoft recommends using the user-mode drivers supplied with Windows
2000 and the Windows Server 2003 family or the drivers provided by the printer
manufacturer that include the “Designed for Windows” logo.
Note: For more information about driver architecture, testing, and selection, read the
Choosing the Right Printer Drivers document at:
http://www.microsoft.com/windows2000/technologies/fileandprint/print/default.asp
Printer Hardware
Print device hardware plays a significant role in the throughput and performance of a Windows print
server. Higher-end devices, for example, can accept more complex data and perform processing and
production steps (such as document collation) themselves. Other devices with less built-in intelligence
require the Windows print server to perform extra processing and formatting so that a simpler image
format is created and sent to the device. Additionally, processing speed and physical device storage
can have a great impact on the length of time that is required to accept a print job from a Windows print
server. This in turn has an impact on the length of time and disk space that the job occupies on the
server while in the device’s queue. Typically, workgroup class laser printers and higher-end devices
support substantial processing, memory, and storage upgrades, while more consumer-focused products
such as ink jet printers have minimum capabilities with respect to rendering or storage.
When standardizing printer hardware for your organization, it is important to look at the installable
options that make sense for your environment. For example, if all corporate network printers support
duplex printing and feature 128 megabytes of RAM, configuration on the print server is easier and more
consistent.
Server Service
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.
1. From the Start menu, point to Settings, and then click Control Panel.
3. Double-click Local Area Connection, and then click the Properties button.
4. In
the Local Area Connection Properties dialog box, double-click File and Printer Sharing for
Microsoft Networks.
5. Under Optimization, if you are running Windows Server 2003, the Maximize Data Throughput for
File Sharing option is selected by default.
6. Click OK.
The values for the LargeSystemCache entry are shown in the following table, along with their
corresponding options under File and Printer Sharing for Microsoft Networks Properties.
Spool Directory
While accepting jobs and processing them for de-spooling, the print server can perform substantial disk
input/output (I/O). IN addition to I/O, the memory load and potential page file hits that could occur
during high volume periods, and there may be a risk of disk I/O constraints that affect performance or
stability of the server.
Microsoft recommends that you move the spooler to a separate physical drive or array of drives, if
possible. Doing so can prevent disk space constraints from having a negative impact on the dynamic
management and allocation of the paging file. Furthermore, it is recommended that this separate disk
have its own channel on the SCSI controller. (Today’s SCSI RAID controllers commonly support two to
four independent channels.) This channel also aids performance by separating the disk I/O of paging
from that of spooling. For additional performance recommendations related to RAID types, please see
the Microsoft Windows Server 2003 Resource Kit.
Process Object
To monitor the performance and load on the print subsystem, select Spoolsv.exe from the instance list
and add the following items from the counters list:
Counter Description
Name
% Processor The percentage of elapsed time that all process threads used to execute instructions. An
Time instruction is the basic unit of execution in a computer, a thread is the object that executes
instructions, and a process is the object created when a program is run. This count includes
code executed to handle some hardware interrupts and trap conditions.
Handle The total number of handles currently open by this process. This number is equal to the sum of
Count the handles currently open by each thread in this process.
Virtual Bytes The current size, in bytes, of the virtual address space the process is using. Use of virtual
address space does not necessarily imply corresponding use of either disk or main memory
pages. Virtual space is finite, and by using too much, the process can limit its ability to load
libraries.
Virtual Bytes The maximum size, in bytes, of virtual address space the process has used at any one time. Use
Peak of virtual address space does not necessarily imply corresponding use of either disk or main
memory pages. However, virtual space is finite, and the process might limit its ability to load
libraries by using too much.
Pool Paged The size, in bytes, of the paged pool, an area of system memory (physical memory used by the
Bytes operating system) for objects that can be written to disk when they are not being used.
Memory\\Pool Paged Bytes is calculated differently than Process\\Pool Paged Bytes, so it might
not equal Process\\Pool Paged Bytes\\_Total. This counter displays the last observed value only;
it is not an average.
Pool The size, in bytes, of the nonpaged pool, an area of system memory (physical memory used by
Nonpaged the operating system) for objects that cannot be written to disk, but must remain in physical
Bytes memory as long as they are allocated. Memory\\Pool Nonpaged Bytes is calculated differently
than Process\\Pool Nonpaged Bytes, so it might not equal Process\\Pool Nonpaged
Bytes\\_Total. This counter displays the last observed value only; it is not an average.
Working Set The current size, in bytes, of the working set of this process. The working set is the set of
memory pages touched recently by the threads in the process. If free memory in the computer is
above a threshold, pages are left in the working set of a process even if they are not in use.
When free memory falls below a threshold, pages are trimmed from working sets. If they are
needed, they will then be soft-faulted back into the working set before leaving main memory.
Working Set The maximum size, in bytes, in the working set of this process at any point in time. If free
Peak memory in the computer is above a certain threshold, pages are left in the working set of a
process even if they are not in use. When free memory falls below a certain threshold, pages are
trimmed from working sets. If they are needed, they are then soft-faulted back into the working
set before they leave main memory.
This type of performance monitoring helps you tune your deployments, whether you are adding
additional or more powerful processors, increasing the system memory, or modifying the disks or disk
configuration.
Summary
Clearly there are a number of factors that have a large impact on print server sizing and capacity
planning. Even with the variable nature of network printing, it is possible to make educated calculations
about the hardware required for a particular environment.
• For more information about the Windows Server 2003 architecture, see the “Display and Print Devices”
sections in the Windows Driver Development Kit at http://www.microsoft.com/ddk
• For more information about connectivity options and support protocols in Windows Server 2003, see
Microsoft Windows 2000 Server Resource Kit published by Microsoft Press.
• For additional information about Windows print servers in general, visit the print server Web site at:
http://www.microsoft.com/printserver.
• For the latest information about Windows Server 2003, see the Windows 2003 Server Web site at
http://www.microsoft.com/windowsserver2003.
• For more information about the Windows Server 2003 architecture, see the “Display and Print Devices”
sections in the Windows Driver Development Kit at http://www.microsoft.com/ddk
• For more information about connectivity options and support protocols in Windows Server 2003, see
Microsoft Windows 2000 Server Resource Kit published by Microsoft Press.
• For additional information about Windows print servers in general, visit the print server Web site at:
http://www.microsoft.com/printserver.
• For the latest information about Windows Server 2003, see the Windows 2003 Server Web site at
http://www.microsoft.com/windowsserver2003.
• For more information about the Windows Server 2003 architecture, see the Display and Print Devices
sections in the Windows Driver Development Kit at http://www.microsoft.com/ddk
• For more information about connectivity options and support protocols in Windows Server 2003, see
Microsoft Windows 2000 Server Resource Kit published by Microsoft Press.
• For additional information about Windows print servers in general, visit the print server Web site at:
http://www.microsoft.com/printserver.
• For the latest information about Windows Server 2003, see the Windows 2003 Server Web site at
http://www.microsoft.com/windowsserver2003.
Related Links
See the following resources for further information:
• For more information about deployment and management of Windows print servers, see the Windows
Server 2003 Deployment Resource Kit (not yet available when this paper was published).
• For more information about the Windows Server 2003 architecture, see the “Display and Print Devices”
sections in the Windows Driver Development Kit at http://www.microsoft.com/ddk
• For more information about connectivity options and support protocols in Windows Server 2003, see
Microsoft Windows 2000 Server Resource Kit published by Microsoft Press.
• For additional information about Windows print servers in general, visit the print server Web site at:
http://www.microsoft.com/printserver.
• For the latest information about Windows Server 2003, see the Windows 2003 Server Web site at
http://www.microsoft.com/windowsserver2003.