Print Server Scalability and Sizing Technical Overview White
-
Upload
api-3734769 -
Category
Documents
-
view
827 -
download
2
Transcript of Print Server Scalability and Sizing Technical Overview White
Print Server Scalability and Sizing Technical Overview
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
The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE INFORMATION IN THIS DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
©2003 Microsoft Corporation. All rights reserved.
Microsoft, MSN, Win32, Win64, Windows, Windows XP, Windows Server Windows NT, and the Windows logo are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Microsoft® Windows Server™ 2003 White Paper
Contents
Introduction................................................................................................................................... 1
Environmental Variables Affecting Server Performance...........................................................2
Number of Active Clients.............................................................................................................2
Client Operating System.............................................................................................................2
Number, Size, and Frequency of Print Jobs................................................................................2
Type of Print Jobs....................................................................................................................... 2
Types of Drivers.......................................................................................................................... 2
Printer Hardware......................................................................................................................... 3
Print Server Configuration...........................................................................................................3
Server Service......................................................................................................................... 3
Spool Directory........................................................................................................................ 4
Performance Monitoring and Baseline Measurement...............................................................5
Process Object............................................................................................................................ 5
Print Queue Object...................................................................................................................... 5
Summary....................................................................................................................................... 7
Related Links.................................................................................................................................. 8
Microsoft® Windows Server™ 2003 White Paper
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
Clients’ operating system version
Number, size, and frequency of jobs
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.
Print Server Scalability and Sizing Technical 1
Microsoft® Windows Server™ 2003 White Paper
Environmental Variables Affecting Server Performance
Number of Active Clients
The number of active clients includes the currently printing workstations and can also include
workstations that have recently submitted print jobs. Depending on which application is in use, open
sessions to the print server can remain open for hours or even days. The Windows Point and Print
Technical Overview paper discusses the details about using Named Pipes with remote procedure call
(RPC) connections. For the purposes of this discussion, it is sufficient to be aware that the number of
active clients can be greater than you might think due to lingering connections. Each of these
connections or Named Pipes to the spooler service on the print server occupies resources. It is possible
for a print server to become resource-constrained simply by excessive client connections.
Client Operating System
The operating system version that runs on the clients becomes very important when the client
environment includes a substantial percentage or majority of Windows 95, Windows 98, or Windows
Millennium Edition clients. The version becomes critical during the upgrade of these clients to Windows
2000 or Windows XP. Although the Windows Point and Print Technical Overview paper covers the topic
in depth, it is important to note that 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—a majority of the rendering portion of the print process is offloaded to the 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.
Number, Size, and Frequency of Print Jobs
The number, size, and frequency of jobs can play a significant role in selecting the network access and
disk configuration for a print server. Many smaller jobs result in different disk space requirements
compared to fewer larger jobs. If your organization ever needs to save printed jobs, the number, size
and frequency of print jobs is a primary consideration when sizing the hard disk configuration.
Print Server Scalability and Sizing Technical 2
Microsoft® Windows Server™ 2003 White Paper
Type of Print Jobs
Complex print jobs, such as detailed graphics, PDF files, or those containing many fonts, place
additional CPU load on a print server. CPU load is an issue only with clients that run Windows NT or
later, as discussed earlier in the “Client Operating System” section. However, print device type makes
an impact as well, as discussed below.
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.
Print Server Configuration
To achieve maximum performance and capacity for dedicated print servers, consider the following
configuration settings.
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.
To view or change server optimization settings:
Print Server Scalability and Sizing Technical 3
Microsoft® Windows Server™ 2003 White Paper
1.From the Start menu, point to Settings, and then click Control Panel.
2.Double-click Network and Dial-up Connections.
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.
Print Server Scalability and Sizing Technical 4
Microsoft® Windows Server™ 2003 White Paper
Registry value
User interface option
Description Notes
0 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.
1 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.
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.
Print Server Scalability and Sizing Technical 5
Microsoft® Windows Server™ 2003 White Paper
Performance Monitoring and Baseline Measurement
You know the disclaimer “actual mileage may vary?” The same is true in print server sizing. It is
impossible to predict the exact mix of client operating system versions, active client numbers, and job
types and sizes. The most effective approach to server sizing is to observe the existing or previous print
server performance. Windows 2000 introduced 13 new performance counters that administrators to
could use to monitor the general load on a server, as well as printer-specific information. For more
information about objects and baselines, review the Performance Monitor information in the Windows
2003 Server Resource Kit. Some particularly useful objects provide a good idea about the overall load
of the four basic components: network, memory, disk, and processor.
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 Name
Description
% Processor Time
The percentage of elapsed time that all process threads used to execute instructions. An 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 Count
The total number of handles currently open by this process. This number is equal to the sum of 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 Peak
The maximum size, in bytes, of virtual address space the process has used at any one time. Use 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 Bytes
The size, in bytes, of the paged pool, an area of system memory (physical memory used by the 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 Nonpaged Bytes
The size, in bytes, of the nonpaged pool, an area of system memory (physical memory used by the operating system) for objects that cannot be written to disk, but must remain in physical 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
Print Server Scalability and Sizing Technical 6
Microsoft® Windows Server™ 2003 White Paper
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.
Print Queue Object
Windows Server 2003 printing features provide the Print Queue Object performance object for tracking
activity in the server print queue. Its counters are reset when either the print server or the spooler
service is restarted.
Counter Name Description
Add Network Printer Calls
Shows the total number of calls from other print servers to add shared network printers to this server since last restart.
Bytes Printed/sec
Shows the number of bytes per second printed in a print queue and provides a rough indication of how busy a printer is. This counter can be used for bottleneck detection.
Enumerate Network Printer Calls
Shows the total number of calls from browse clients to this print server to request network browse lists since last restart.
Job Errors Shows the total number of job errors in a print queue since last restart. Job errors can occur if the connection to the printer has errors due to network problems.
Jobs Shows the current number of jobs in a print queue. Use this counter to identify excessive use.
Jobs Spooling Shows the current number of spooling jobs (incoming or incomplete) in a print queue.
Max Jobs Spooling
Shows the maximum number of spooling jobs (incoming or incomplete) in a print queue since last restart.
Max References Shows the peak number of references (open handles) to this printer.
Not Ready Errors
Shows the total number of printer-not-ready errors in a print queue since the last restart.
Out of Paper Errors
Shows the total number of out-of-paper errors in a print queue since the last restart.
References Shows the current number of references to a print queue. A reference can be a user or a program that is connecting to a printer and opening a print queue.
Total Jobs Printed
Shows the total number of jobs printed on a print queue since the last restart.
Total Pages Printed
Shows the total number of pages printed through GDI on a print queue since the last restart. Since RAW print jobs do not provide page-count data, they are not included in this counter. (Windows 98 and Windows 95 clients submit RAW jobs, which means their print volume is not captured w/this counter.)
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.
Print Server Scalability and Sizing Technical 7
Microsoft® Windows Server™ 2003 White Paper
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.
See the following resources for further information:
For more information about deployment and management of Windows print servers, see the
Windows .NET Server 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.
See the following resources for further information:
For More information about deployment and management of Windows print servers, see the
Windows .NET Server 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.
See the following resources for further information:
For More information about deployment and management of Windows print servers, see the
Windows .NET Server 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 .
Print Server Scalability and Sizing Technical 8
Microsoft® Windows Server™ 2003 White Paper
For the latest information about Windows Server 2003, see the Windows 2003 Server Web site at
http://www.microsoft.com/windowsserver2003.
Print Server Scalability and Sizing Technical 9
Microsoft® Windows Server™ 2003 White Paper
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.
Print Server Scalability and Sizing Technical 10