| 简介 | |
| 影响服务器性能的环境变量 | |
| 性能监视与基准度量 | |
| 总结 | |
| 相关链接 |
对于购买和部署 Microsoft Windows 打印服务器,可伸缩性扮演着重要角色。Windows 打印服务器的最大负载和最高的性能水平在很大程度上取决于关键的配置决策。虽然本文并没有给出计算最大负载的确切公式,但提供了帮助调整服务器的规模以满足组织需求的相关信息。首先,我们将确定一下主要问题并进行讨论,然后再看一下用以最大化打印服务器性能的配置细节。所涉及的的主要因素包括:
| • | 客户端的数量 |
| • | 客户端操作系统的版本 |
| • | 作业的数量、大小和频率 |
| • | 作业的类型 |
| • | 打印机的数量 |
| • | 驱动程序的类型 |
| • | 打印机的类型 |
在下面几节中,我们将探讨上述各个因素如何影响打印服务器的最大负载容量。
在研究了有关变量并了解其如何影响服务器的负载容量后,我们将介绍一下可用于专用打印服务器的与特定性能相关的配置设置。
活动客户端的数量包括当前正在执行打印任务的工作站,也可包括刚刚提交打印作业的工作站。根据所用的应用程序,打印服务器的开放会话可一直开放数小时,甚至数天。“Windows Point and Print 技术概述”一文探讨了有关将远程过程调用 (RPC) 连接与命名管道一起使用的详细信息。鉴于本文所讨论的内容,必须知道由于存在延迟的连接,活动客户端的数量可能比想象的要多。打印服务器上针对后台打印程序服务的各个连接或命名管道均占用一定的资源。只要存在过多的客户端连接,打印服务器就可能受资源约束。
当客户端环境中有很大一部分或大多数都是 Windows 95、Windows 98 或 Windows Millennium Edition 客户端,那么客户端上所运行的操作系统版本就变得非常重要。在将这些客户端迁移到 Windows 2000 或 Windows XP 时,版本问题变得至关重要。虽然“Windows Point and Print 技术概述”一文深入探讨了这一主题,但是要注意到,与基于 Windows NT 的工作站相比,上述基于 Windows 早期版本的客户端给打印服务器造成的处理器负载要小的多,明白这一点很重要。客户端从这种方案中受益,因为其应用程序被更快地返回给用户,而打印进程的大部分被卸载到打印服务器
注意:考虑客户端操作系统时,必须预先规划好桌面升级和迁移事宜。例如,假设有 15,000 台台式计算机,运行 Windows 98 和运行 Windows 2000 的计算机各占一半。组织决定将所有计算机都迁移到 Windows 2000,从而使 7,500 台新的 Windows 2000 客户端产生了额外的负载。结果,可能有必要通过添加处理器或升级到更强大的处理器,增强打印服务器的处理能力。
在为打印服务器挑选网络访问和磁盘配置时,打印作业的数量、大小和频率扮演着重要角色。与少数较大的作业相比,众多较小的作业对磁盘空间的要求有所不同。如果组织总是需要保存已打印的作业,那么在调整硬盘配置大小时,打印作业的数量、大小和频率就是首要的考虑事项。
复杂的打印作业(比如:细腻的图形、PDF 文件或包含许多字体的文件)会向打印服务器施加额外的 CPU 负载。正如前面的“客户端操作系统”一节所讨论的,只有运行 Windows NT 或更新版本的客户端才存在 CPU 负载问题。但是,如下面所论述的,打印设备类型也会产生一定的影响。
可伸缩性与驱动程序的类型紧密相关,某些驱动程序类型可能要求服务器承载多个独特的驱动程序型号。例如,与承载 2,100 台打印机并使用 215 个独特的打印机驱动程序的服务器相比,承载相同数量的打印机但只使用同一个驱动程序的服务器需要较少的注册表访问,并能节省部分后台处理能力。对于许多客户,可靠性和可伸缩性同等重要,因为他们承受不起在某个时候失去一定数量的打印机。鉴于这个原因,Microsoft 推荐使用 Windows 2000 或 Windows Server 2003 系列操作系统附带的用户模式驱动程序,或者由打印机制造商提供的带有 Designed for Windows 徽标的驱动程序。
注意:有关驱动程序体系结构、测试和选择的更多信息,请参阅“选择正确的打印机驱动程序”文档:http://www.microsoft.com/windows2000/technologies/fileandprint/print/default.asp
打印设备硬件对 Windows 打印服务器的吞吐量和性能起着重要的作用。例如,高端设备本身就可接受更为复杂的数据,并可执行处理和生产步骤(比如:文档排序)。其他内部智能较低的设备要求 Windows 打印服务器执行额外的处理和格式化操作,从而创建较为简单的图像格式,并发送给设备。另外,处理速度和物理设备存储会极大影响从 Windows 打印服务器接受打印作业所需的时间。反之,这又会影响作业在服务器上停留的时间和占用的磁盘空间。通常,工作组级别的激光打印机和高端设备支持强大的处理能力、超大内存和存储升级,而消费者更为关注的产品(比如:喷墨打印机)在呈现或存储方面仅具备最低功能水平。
在标准化组织的打印机硬件时,要看一下适用于环境的可安装的硬件,这一点很重要。例如,如果所有公司网络打印机都支持双面打印功能,并配备 128 MB 的 RAM,那么打印服务器的配置就会变得更加简单、一致。
为了让专用的打印服务器实现最高的性能和容量,应考虑采用下列配置设置。
服务器服务
Microsoft 推荐在专用的打印服务器上设置“最大化文件共享的性能”选项。该设置要求服务器向文件和打印服务器服务提供尽可能多的资源。
如要查看或更改服务器优化设置:
1. | 在“开始”菜单处,指向“设置”,然后单击“控制面板”。 |
2. | 双击“网络和拨号连接”。 |
3. | 双击“本地连接”,然后单击“属性”按钮。 |
4. | 在“本地连接属性”对话框中,双击“Microsoft 网络的文件和打印机共享”。 |
5. | 在“优化”下方,如果运行的是 Windows Server 2003,那么将默认选定“最大化文件共享数据吞吐量”选项。 |
6. | 单击“确定”。 |
LargeSystemCache 项的值将显示在下表中,同时显示的还有“Microsoft 网络的文件和打印机共享属性”下的相应选项。
| 注册表值 | 用户界面选项 | 描述 | 注释 |
0 | 最大化网络应用程序的吞吐量 | 针对通常自行执行内存缓存的分布式应用程序优化系统(比如 SQL Server,默认设置了该选项)。这一设置对提供应用程序服务的计算机很有用,因为与文件系统缓存的工作集相比,其能给予进程工作集更大的帮助。 | 该设置对于较大的服务器应用程序和数据库服务器(比如需要最大化进程工作集而非文件系统缓存工作集的 SQL Server)也很有用。 |
1 | 最大化文件共享的数据吞吐量 | 针对文件和打印机共享资源优化系统。这是 Windows 2000 Server 安装程序的默认设置。 | 在 Windows 2000 中,如果系统拥有的 RAM 不足 16 GB(未配置为以 /3GB Boot.ini 开关启动,而 PagedPoolSize 项被设为除 0xFFFFFFFF(或在拥有 1 GB 以上 RAM 的系统上为 0)以外的其他值(如:192000000),同时系统不运行终端服务,且 SystemPages 项不设为 0xFFFFFFFF),那么可对文件系统缓存工作集增加 464 MB 的附加虚拟地址空间(达到 960 MB)。有关各种内存管理注册表项如何进行互操作的更多信息,请参阅本章后面的“优化内存配置”一节。 |
后台打印目录
当接受作业并对其进行处理以从缓冲池中加以提取时,打印服务器会执行大量磁盘 I/O。甚至在高容量期间,也会产生内存负载和潜在的文件命中,而且可能存在磁盘 I/O 约束的风险,从而影响服务器的性能或稳定性。
Microsoft 建议如果可能的话,将后台打印程序转移到一个单独的物理驱动器(或驱动器阵列)上。这样做可防止磁盘空间约束对分页文件的动态管理和分配造成负面影响。此外,建议让单独的磁盘在 SCSI 控制器上拥有自己的通道。(现在,SCSI RAID 控制器一般支持二到四个独立通道。)此通道还可通过将磁盘 I/O 的分页与后台缓存相分离,协助提高性能。有关 RAID 类型的其他性能建议,请参阅 Microsoft Windows Server 2003 资源工具包。
您知道所声称的实际好处可能有所不同吗?打印服务器的规模调整也是如此。不可能准确预测有关客户端操作系统版本、活动客户端数量和作业类型及大小的实际情况。调整服务器规模最有效的办法就是观察当前或以前的打印服务器性能。Windows 2000 引入了 13 个新的性能计数器,使得管理员可以监视服务器的整体负载以及有关特定打印机的信息。有关对象和基准的更多信息,请参阅 Windows 2003 Server 资源工具包中的“性能监视”相关信息。一些十分有用的对象可以很好地监视四个基本组件的整体负载:网络、内存、磁盘和处理器。
如要监视打印子系统上的性能和负载,从实例列表选择 Spoolsv.exe,并从计数器列表添加下列项目:
| 计数器名称 | 描述 |
% Processor Time | 所有进程线程使用处理器执行指令所花的时间百分比。指令是计算机执行的基础单位。线程是执行指令的对象,而进程是程序运行时创建的对象。此计数包括处理某些硬件间隔和陷阱条件所执行的代码。 |
Handle Count | 此进程当前打开的句柄总数。该数值等于该进程中每个线程当前打开的句柄总和。 |
Virtual Bytes | 进程使用的虚拟地址空间的以字节数显示的当前大小。使用虚拟地址空间不一定是指对磁盘或主内存页的相应的使用。虚拟空间是有限的,如果过多使用,可能会限制进程加载库的能力。 |
Virtual Bytes Peak | 在任何时间内进程使用的虚拟地址空间字节的最大数。使用虚拟地址空间不一定是指对磁盘或主内存页的相应的使用。但是,虚拟空间是有限的,如果过多使用,可能会限制进程加载库的能力。 |
Pool Paged Bytes | 分页池中的字节数,分页池是系统内存(操作系统使用的物理内存)中可供对象(在不处于使用时可以写入磁盘的)使用的一个区域。Memory\\Pool Paged Bytes 的计数方式与 Process\\Pool Paged Bytes 的方式不同,因此可能不等于 Process\\Pool Paged Bytes\\_Total。这个计数器仅显示上一次观察的值;而不是一个平均值。 |
Pool Nonpaged Bytes | 非分页池中的字节数,非分页池是指系统内存(操作系统使用的物理内存)中可供对象(指那些在不处于使用时不可以写入磁盘上而且只要分派过就必须保留在物理内存中的对象)使用的一个区域。Memory\\Pool Nonpaged Bytes 的计数方式与 Process\\Pool Nonpaged Bytes 的计数方式不同,因此可能不等于 Pool Nonpaged Bytes\\_Total。这个计数器仅显示上一次观察的值;而不是一个平均值。 |
Working Set | 这个进程的 Working Set 中的当前字节数。Working Set 是进程中线程最近触到的那个内存页集。如果计算机上的可用内存处于阈值以上,即使页不在使用中,也会留在一个进程的 Working Set 中。当可用内存降到阈值以下,将从 Working Set 中删除页。如果需要页时,它会在离开主内存前软故障返回到 Working Set 中。 |
Working Set Peak | 任何时间这个进程的 Working Set 的最大字节数。如果计算机上的可用内存处于阈值以上,即使页不在使用中,也会留在一个进程的 Working Set 中。当可用内存降到阈值之下,将从 Working Set 中删除页。如果需要页时,它会在离开主内存前软故障返回到 Working Set 中。 |
Windows Server 2003 的打印功能提供了打印队列性能对象,以跟踪服务器打印队列中的活动。当打印服务器或后台打印服务重新启动时,其计数器将被重置。
| 计数器名称 | 描述 |
Add Network Printer Calls | 显示自上次重启后,用以向该服务器添加共享网络打印机的来自其他打印服务器的调用总数。 |
Bytes Printed/sec | 显示打印队列的每秒打印字节数,并粗略指明打印机的繁忙程度。该计数器可用于检测瓶颈。 |
Enumerate Network Printer Calls | 显示自上次重启后,用以请求网络浏览列表的从浏览客户端到该打印服务器的调用总数。 |
Job Errors | 显示自上次重启后,打印队列中作业错误的总数。如果到打印机的连接因网络故障出现错误,就会产生作业错误。 |
Jobs | 显示打印队列的当前作业数。使用该计数器确定过量使用情况。 |
Jobs Spooling | 显示打印队列中后台打印作业的当前数量。 |
Max Jobs Spooling | 显示自上次重启后,打印队列中后台打印作业(传入或部分)的最大数量。 |
Max References | 显示该打印机的高峰引用(打开句柄)数量。 |
Not Ready Errors | 显示自上次重启后,打印队列中的“打印机尚未准备就绪”错误总数。 |
Out of Paper Errors | 显示自上次重启后,打印队列中的“纸张已用完”错误总数。 |
References | 显示打印队列的当前引用数量。引用可以是连接到打印机并打开打印队列的用户或程序。 |
Total Jobs Printed | 显示自上次重启后,打印队列上已打印的作业总数。 |
Total Pages Printed | 显示自上次重启后,在打印队列上通过 GDI 打印的总页数。由于 RAW 打印作业不提供页计数数据,因此并不包含在该计数器中。(Windows 98 和 Windows 95 客户端提交 RAW 作业,因此该计数器并未捕获到打印量。) |
不管是添加额外或更多的强大的处理器,增加系统内存,还是更改磁盘或磁盘配置,这种性能监视有助于优化部署。
显而易见,有许多因素会对打印服务器的规模调整和容量规划造成重大影响。即便网络打印的性质多变,也能够对特定环境所需的硬件进行有事实根据的计算。
访问下列资源以获取详细信息:
| • | 有关部署和管理 Windows 打印服务器的更多信息,请参阅Windows Server 2003 部署资源工具包 (本文发布时尚未推出)。 |
| • | 有关 Windows Server 2003 的连接选项和支持协议的更多信息,请参阅Microsoft Windows 2000 Server 资源工具包 (由 Microsoft 出版社发行)。 |
| • | 有关 Windows 打印服务器的其他综合性信息,请访问打印服务器网站:http://www.microsoft.com/windows2000/technologies/fileandprint/print/default.asp. |
| • | 有关 Windows Server 2003 的最新信息,请访问Windows Server 2003 网站. |