Print Server Scalability and Sizing Technical Overview White

16
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.

Transcript of Print Server Scalability and Sizing Technical Overview White

Page 1: 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.

Page 2: Print Server Scalability and Sizing Technical Overview White

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.

Page 3: Print Server Scalability and Sizing Technical Overview White

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

Page 4: Print Server Scalability and Sizing Technical Overview White

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

Page 5: Print Server Scalability and Sizing Technical Overview White

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

Page 6: Print Server Scalability and Sizing Technical Overview White

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

Page 7: Print Server Scalability and Sizing Technical Overview White

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

Page 8: Print Server Scalability and Sizing Technical Overview White

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

Page 9: Print Server Scalability and Sizing Technical Overview White

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

Page 10: Print Server Scalability and Sizing Technical Overview White

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

Page 11: Print Server Scalability and Sizing Technical Overview White

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

Page 12: Print Server Scalability and Sizing Technical Overview White

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

Page 13: Print Server Scalability and Sizing Technical Overview White

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