Linux 作为图形艺术行业的 OPI 服务器
近期针对图形艺术行业高性能文件共享工具的测试表明,Linux 是性能最佳的。我们测试了 Linux 与 Macintosh OS X Server、Sun Solaris 和 Windows NT 服务器。Linux 脱颖而出,在 100Base-T 以太网上产生了惊人的平均 8800KB/秒吞吐量。我们在这个角色中使用 NT 服务器已有两年,但在去年,它在负载下步履蹒跚。现在,我们每天重启服务器,以避免打印服务挂起。
作为一家提供全方位服务的商业印刷公司,Mahaffeys' Quality Printing 是超过 44,000 家美国印刷公司中的一家,这些公司使用或可能使用 OPI(开放式印前接口)服务器来生成和假脱机高分辨率 PostScript 输出文件到 RIP(光栅图像处理器)。OPI 服务器是一种垂直市场应用程序,可以被描述为专用于图形艺术行业的工业级文件和打印服务器。在拥有多达 100 个印前客户端工作站的大型印刷厂中,获得一台 OPI 服务器的成本从 5,000 美元到 25,000 美元甚至更高。
使用 OPI 服务器允许客户端工作站卸载创建高分辨率 PostScript 文件的处理器和 I/O 密集型工作。OPI 服务器创建 PostScript 文件,然后将其转发到 RIP。RIP 是功能强大的工作站,可将巨大的 PostScript 文件转换为超高分辨率激光记录仪指令集。这些文件被成像到胶片或印版上,最终用于胶印机。
对 OPI 服务器的需求始于创意客户端机器。这通常是 Macintosh,因为印刷和出版行业中的大多数内容创作都是在 Macintosh 工作站上完成的。大多数现代印刷或出版印前部门都是基于多平台客户端/服务器的,具有 UNIX 或 Windows NT 部门工作组服务器,可根据需要为 Macintosh 和 Windows 客户端工作站提供图像文件和页面。它还包括许多 PostScript 输出设备,范围从黑白激光打印机、大幅面彩色打样机和激光胶片到印版照排机。最现代化的工厂选择跳过胶片步骤,并使用非常强大的热激光成像系统直接成像到印版。
最常见的网络协议是交换式 100Base-T 以太网,但一些 10Base-T 节点仍然存在,并且随着文件大小和吞吐量需求的持续增长,千兆以太网和基于光纤的网络协议正变得越来越普遍。网络服务器对于允许多个操作员同时访问项目(称为作业)的各个部分至关重要。此外,这种基于服务器的工作流程允许轻松地将作业传递给下一个工作人员或团队,而无需在作业通过排版、图像扫描和修饰、设计、打样、拼版以及最终 PostScript 输出生成、RIP 和成像阶段时,将大量信息复制到另一个位置。
图 1. 拼版和输出部门。从左到右,Jimmy Carman、Jason Clifton 和 Doug Wilson 在 Mahaffeys' 对所有单张纸印刷品进行飞行检查、拼版和输出到印版。照片左侧和右侧顶部带有显示器的棕褐色机器是 Presstek 热敏计算机直接制版机。
Mahaffeys' 最近完成的一本 32 页彩色产品目录,完成时文件超过 4GB。它在服务器上花费了超过 10 天的时间才完成。我们平均每月处理超过 800 个印刷作业,在一组 17 台胶印机和柔版印刷机上进行。并非所有作业都这么大,但在这个行业中,对大量服务器空间的需求是必然的。如果只需要一台快速、稳定且可扩展的文件服务器,可以为 Macintosh 和 PC 客户端提供服务,那还算是一回事。然而,这些相同的机器还需要将打印作业假脱机到印前部门中存在的大量输出设备。
它们假脱机的 PostScript 文件通常是拼版的、多页的、全彩色的印刷版式,平均每个文件为 250 到 500MB,对于一本由八个 4 页版式组成的 32 页目录来说。单个 PostScript 文件超过 1GB 大小的情况也并不少见。您可以想象,一个繁忙的部门,有 10 名或更多员工在服务器上处理和打印大量文件,可能会立即阻塞网络。结果可能是所有用户的打印和服务器服务时间变慢,或者服务器崩溃——两者都会导致昂贵的延迟。
几年前,在 Windows NT 服务器出现之前,这些机器的唯一选择是专有的 RISC UNIX 服务器,例如 Sun 和 SGI(Silicon Graphics, Inc.)或 Apple 的 AppleShare 服务器。没有中间地带。高端是大型印刷厂的高价领域,成本为 75,000 美元及以上,而低端是低功率的,对于只有几个员工的小公司来说,成本为 15,000 美元或更少。
Windows NT 服务器在 1995/1996 年左右以 3.x 版本和 SFM-Macintosh 服务进入印前领域。这是 Microsoft 对 AppleTalk 文件和打印服务的实现,比 UNIX 和 Linux 实现中常见的 AppleShare/IP 协议慢得多。那个时代的 Intel 处理器没有能力处理这种大文件和高系统 I/O 环境中带来的极端压力,但 Digital Equipment Corporation 的 Alpha 21064 以及后来的 21164 芯片证明能够胜任这项任务。这些系统开始在图形艺术行业中普及。
NT Alpha 不如 UNIX 机器那样可扩展或稳定,但它们成本更低,占据了 20,000 美元到 50,000 美元的中端市场。它们也被认为更易于管理。这是否属实是一个值得争论的主题。
图 2. 五色 Heidelberg MOF 胶印机的操作员控制台显示正在为家具制造商 Lane 生产的四色工艺新闻通讯。这款双面 17x22 产品超过 500MB 大小。
在 OPI 工作流程中,拼版站(拼版是另一种垂直市场应用程序,它将单页页面组装成可用于印刷的版式)将 PostScript 的精简版本(一种没有所有高分辨率图形的版本)转发到 OPI 服务器,其中 PostScript 注释(放置高分辨率数据的指令)将由 OPI 应用程序处理。UNIX 领域的 OPI 领导者是 Helios 的 EtherShare OPI(一家德国公司,拥有长长的 OEM 客户名单)和加利福尼亚州伯克利的 Xinet 的 FullPress。NT 平台有几家厂商,其中最大和最著名的是 Luminous 的 Color Central。
我们在 1997 年年中安装了一台 NT Alpha 533MHz 服务器,配备 256MB RAM 和 60GB UW SCSI RAID,选择了 Color Central 用于 OPI 服务。我们还安装了 3Com 10-100 交换机,并将 PowerMac 客户端的基准测试文件读取速度定为新服务器的 2.3 到 2.6MB/秒。这几乎是我们升级前通过细以太网连接到 AppleShare 4.2 服务器获得的 900KB/秒的三倍。我们对改进感到满意。大约在同一时间,我们开始试验 Red Hat Linux 4.0 版。我们的想法是使用 Linux 来确定 UNIX 系统是否是我们自己可以管理的。在 Alpha 硬件上进行早期安装时遇到了一些困难之后,学习和使用 Linux 开始变得更容易,并且每个新版本似乎都在硬件支持和可用性方面取得了重大进展。我们在 1997 年底在我们的工作局域网上实施了第一台 Linux 服务器,最初用于 FTP 和 Web 服务。后来,我们添加了 DNS 和代理服务器职责。我们安装了 Netatalk 和 Samba,并将这台自制的价值 600 美元的 Pentium 166MHz 64MB 机器配置为为 Macintosh 客户端提供文件服务,并与 NT 服务器通信。
它是一个良好的网络公民,并为我们的 T1 互联网连接提供文件服务。与功能更强大的 Alpha 硬件和 PowerPC Mac 工作站相比,我们认为它是一个玩具,但它非常稳定并且轻松地完成了它的工作。有一天,在复制通过 FTP 传输的一个大型客户文件时,我观察到复制时间异常短。该文件大约为 25MB,并且通过 Macintosh Finder 以惊人的速度复制到我的工作站。我又复制了一遍,观察到 7.5MB/秒的吞吐量。我在另外两台机器上做了这件事,它们都显示出相当的速度。这真是令人难以置信。这个甚至没有 SCSI 驱动器的玩具,其文件传输速度却是价值 20,000 美元的配备 Ultra-Wide Barracuda RAID 的 Alpha Iron 的三倍。
当然,秘密是 Adrian Sun 的 AppleShare/IP Netatalk 补丁。就在那天,我开始质疑为什么 Linux 没有在印前操作中的网络服务器角色中使用。一个原因是行业意识低,但最大的单一障碍是缺少 OPI 包。我们已经超过了没有 OPI 服务就无法有效运营的规模。这种缺乏支持是一个障碍。一年多前,我开始在行业新闻组和邮件列表中进行调查,并注意到该行业中对 Linux 有任何意识或兴趣的人寥寥无几。我发现有几个人将其用于互联网服务,还有更多人将其用于简单的文件共享,但没有一个人将其用作高产量印刷厂中的主要网络服务器。
我开始游说我认为最适合移植到 Linux 的人,即 UNIX OPI 供应商 Helios 和 Xinet。起初,他们无视我公开呼吁发布 Linux 版本。然后,我实际上与 Xinet 的一位代表就 Linux 在此角色中是否是可行的解决方案进行了在线辩论。欧洲行业巨头 AGFA 的一位代表声称拥有全球市场调查,表明他们的客户只想要 NT 用于服务器和 RIP。唯一对 UNIX 产品高度感兴趣的国家是德国。他表示,在上次调查中,Linux 甚至不在他们的雷达屏幕上。当时,整个行业都对图形艺术领域的 Linux 不屑一顾,尽管我读到的关于 Linux 的兴趣和市场份额数字正在增长。Linux 开始对许多人来说看起来不错,我知道稍加推动,它就可以展示其在稳定性和文件共享速度方面远远优于 NT 服务器的能力,而且价格只是 NT 服务器的一小部分。
图 3. Heidelberg Quickmaster DI 是世界上自动化程度最高的印刷机。它运行四色工艺,并在为操作员预设墨键的同时,安装、成像和清洁自己的无水胶印版。
我们又安装了两台 Linux 机器,都是 SMP Pentium Pro 200MHz,配备 UW SCSI,并着手在印前部门中有意义的角色中使用 Linux。我们能够共享文件,但在打印方面,由于 OPI 支持,我们不得不求助于 NT 机器。我们成功地设置了一个“后门”OPI 工作流程,我们在其中使用 Linux 机器提供文件服务,但 OPI 假脱机到 Alpha。Color Central 向 Linux 服务器发出文件调用,并将 PostScript 文件转发到 RIP。这使我们在 Macintosh 客户端上获得了更快的文件访问速度,但代价是更高的网络流量。这更像是一个实验,看看我们是否可以做到,而不是真正的解决方案。在不破坏网络的情况下使其工作的唯一方法是在两台服务器之间设置一个专用以太网通道,但我 Alpha 上没有空闲插槽,并且也会占用这台服务器上的部分聚合 I/O——这不是一个好的解决方案。
第一个积极的迹象是有人在倾听,这发生在我收到 European MikroGraf Corporation (http://www.ugraf.com/) 的 Tom Hallinan 的线下联系时,该公司是 Helios 在北美的经销商。他说他正在代表 Helios 评估行业对 Linux 端口的兴趣。我详细地说明了这将有多么棒,但没有得到任何承诺。我学到的一件好事是,Helios 在 UNIX 经验方面几乎达到了顶峰——在惊人的九个 UNIX 平台上运行。我被告知,主要问题不是技术方面,因为他们的工程人员中有不止几个 Linux 粉丝,而是该产品在 Linux 上是否具有商业市场。
在接下来的几个月里,我没有错过任何机会要求发布印刷行业应用程序的 Linux 版本。随着计算机行业媒体开始更多地报道 Linux,最终主流媒体也开始报道,我收到了越来越多来自感兴趣的最终用户的请求。我还引起了一些行业供应商的愤怒,这些供应商已经将赌注押在了 Windows NT 上,或者似乎盲目地与 AIX 等其他平台捆绑在一起。一位来自一家非常重要的行业参与者的营销代表在讨论 Linux 普及率增长时表示:“这就是我们所需要的——另一个需要支持的平台。” 在他们改变这种态度之前,我不会与他们进行任何业务往来。这就是我作为图形艺术领域 Linux 倡导者所看到的裂痕。我收到了来自最终用户和行业协会的大量信息请求——几乎都是积极的。那些尚未弄清 Linux 的潜力或看到其增长曲线的供应商认为我是个弃儿。至少一年来,我一直在告诉我行业中的人们,这很重要。
今年三月,我参加了在波士顿举行的 Seybold 出版贸易展,并直接游说 Helios 和 Xinet 代表提供 Linux 支持。Helios 守口如瓶;Xinet 不屑一顾。我相当失望,但我冒险去了 Adobe 展位,并开始询问 Acrobat Distiller 的端口,这是我们可以在 Linux 上使用的另一个工具。我被引导到一位技术营销代表,他说他在家中使用 Linux。他自己曾向开发人员询问过该应用程序,因为他经常使用它,并且在需要时不得不使用 Macintosh 或 Windows 机器。我讲述了我与 UNIX 供应商的谈话,他说:“Helios 的一位员工告诉我,他们已经在实验室里运行了它。” 哇,真是个宝贝。这是一个开发人员可能会告诉另一个开发人员,但不会与任何最终用户分享的东西。我确信 Helios 会交付货物。
两周后,他们宣布移植其全套高端印刷工具——整个软件包。我实际上是从 Slashdot 帖子中发现的。我怀疑这对普通用户来说没什么大不了的,但对我来说意义重大。部署 Linux 作为网络 OPI 服务器的最后一个主要障碍已被消除。我联系了 Helios 并与 Jim Davison 进行了交谈,他回答了几个问题,包括我需要的软件的价格。他还保证,如果我想在新 CD 压制之前测试软件,他会让我访问他们的 FTP 服务器(基于 Linux),当他们获得 Helios 二进制文件时。
图 4. Mahaffeys' 的网络服务器和 SeeColor 打样 RIP 在此处显示。数字工作流程需要准确的数字打样。左侧的 Imation Rainbow 打样机几乎被左侧的 SeeColor 驱动的 HP2000CP 闲置。Linux 可能会在不久的将来闲置 NT 部门服务器。
这大约在一周后发生了。他们向我们发送了 30 天使用的临时密钥,我从他们的服务器下载了 gzipped 二进制文件。我打算测试 Helios Ethershare AppleShare/IP 文件共享的性能,并在计算机直接制版邮件列表中声明了这一点。Xinet 不想被排除在外,一些最终用户鼓励我将测试扩展到 Linux 上的 EtherShare 之外。
我们决定测试 Apple 的新 OS X Server,这是一款基于 BSD UNIX 的服务器产品,因为我们可以在该平台上对 Xinet 和 Helios 进行正面比较。我们刚刚收到一份副本,并且有两台蓝色和白色的 G3 Macintosh 能够运行服务器操作系统。我也被鼓励将 x86 Solaris 添加到测试中,因为我们将在 SMP P-II 333MHz IBM Intellistation M Pro 上进行服务器测试。我们不得不将 NT Server 纳入测试,因为它代表了我们正在使用的东西,并且将显示我们可能期望的吞吐量方面的改进。
我联系了阿拉巴马州亨茨维尔的 Intergraph Computer 的一位代表,他说他们有一款即将进入 Beta 测试的产品,该产品将允许 Windows NT 执行 AppleShare/IP 服务。我告诉他我感兴趣,并在收到用于测试的软件之前签署了一份保密协议。舞台已经搭好。
在印前局域网之外执行这些测试的决定是基于要安装的操作系统和网络服务的数量,以及如果在那里进行测试可能会中断工作的事实。我们决定在一个没有 PostScript 打印机的小型测试局域网上运行测试。由于我们的测试机器没有在任何正常的印前安装中都会发现的 Ultra-Wide SCSI RAID,因此我们决定第一轮测试将仅限于文件共享吞吐量速度。
我们试图将变量限制为仅限于 OS 和 AppleShare/IP 堆栈,但 Mac OS X 服务器仅在 Apple G3 硬件上运行,因此这些测试是在 G3 300 上运行的。我们在同一 IBM 硬件上运行了所有基于 x86 的软件测试。
运行 NT 服务器、Solaris 7 和 Linux 的主要测试盒是一台双 P-II 333 IBM Intellistation M Pro,配备 192MB RAM 和 6GB Ultra ATA 驱动器。该机器板载 UW SCSI,但未在任何测试中使用。在 Macintosh OS X 服务器的情况下,机器是一台 G3 300,配备 192MB RAM 和 6GB Ultra ATA 驱动器。
使用的 Macintosh 客户端是一台 G3 350,配备 128MB RAM 和 6GB Ultra ATA 驱动器。Macintosh 客户端使用板载 100Base-T,IBM 盒使用 3Com 3C905TX。网络在通用 8 端口 100Base-T 非交换集线器上运行。
测试应用程序是 Helios LanTest 2.01。这是一个测试套件,它使服务器经历一系列旨在模拟强劲的 Macintosh 客户端使用的活动。测试设置远远超过任何用户的正常客户端活动,除非是狂热者。LanTest 首先创建 100 个 20KB 文件,然后打开和关闭 100 个文件,删除 100 个文件,向文件写入 3000KB,从文件读取 3000KB,锁定和解锁文件 4000 次,读取包含 320 个文件的目录,最后打印一个 3000KB 文件。使用了禁用打印的 3000KB 读取和写入的默认测试设置。对于图形艺术来说,这是一个小文件大小,但使用它是为了让服务器能够缓存读取和写入(如果它们有能力)。因此,磁盘命中延迟不会被引入到图片中,因为所有测试机器中的驱动器都不如在实际网络服务器安装中使用的 UW SCSI RAID。
图 5. 此机架容纳三台计算机。两台是 Harlequin RIP,用于驱动 Presstek 制版机和 Quickmaster DI。第三台是运行 SuSE Linux 6.1 的 SMP Intel 机器,用于托管 Quality 的网站 (http://www.qualityprinting.com/)、电子邮件、FTP、DNS 和公司局域网的代理服务器。网络交换机、T1 和 DSL 路由器在显示器后面可见。印前经理 Jason Clifton 显示在右侧。
目标只是简单地锤击网卡和电线,看看操作系统如何处理锤击以及速度有多快。我发现有趣的是,当唯一改变的是 OS 和 Appleshare 堆栈时,完全相同的硬件上的结果差异有多大。
当我透露 SuSE Linux 6.0 与内核 2.2.5 和 Helios EtherShare 是性能最佳者时,我希望本文的读者能够意识到此公告的重要性。我的 Linux 用户组 (http://www.lugoj.org/) 中的网络工程师之一 Eric Morris 和我预计 Solaris 7 会击败 Linux——但事实并非如此。
Solaris/Xinet 上的测试对处理器造成了多大的负担,这让我感到惊讶。在我看来,读取和写入没有完全缓存;结果是非常不一致的测试数据。每次我运行它们时,数字都大相径庭,读取范围从 4000KB/秒到 8700KB/秒不等。测试套件连续运行十次,然后显示平均值。我所代表的数字是这个平均值。我实际上在所有 UNIX 版本上都获得了 9000KB/秒或更高的峰值,但没有一个能够在测试的所有十次迭代中平均达到该吞吐量。
当我透露 Windows NT Server 4.0 SP4 本机 SFM 是性能最慢的执行者时,肯定没有人感到惊讶。与 Linux 一样,NT 缓存了读取和写入,并轻松应对了负载。处理器从未感到吃力,也没有观察到明显的磁盘活动。对于这些操作系统来说,单个客户端,无论活动级别多么强劲,都是轻松的工作。
相同的硬件/软件已使用 Intergraph 的 ExtremeZ-IP 进行了测试,但正如我之前所述,我已经签署了 NDA,因此无法发布结果。
具有讽刺意味的是,自从我将这些结果发布到三个邮件列表以来,事情变得更加有趣。我收到了来自最终用户的各种积极反馈。Xinet 的两个人就 OS X Server 上最初的糟糕测试结果与我联系。似乎这源于 Xinet 测试在 AppleTalk 模式下运行,并禁用了 IP 支持。我同意重新运行测试,上面的数字反映了新的测试。
一位 Apple 工程师发电子邮件询问我为什么选择不使用他们更快的 G3 400MHz 服务器型号进行测试。我回答说,因为我们没有一台可以运行测试的机器。他安排提供一台我们可以使用三周的借用机来解决这个问题。
另一家供应商已与我联系,要求使用 Linux 测试他们的硬件,但要求不要透露他们的名字。访问这种真正的服务器硬件应该使我们能够将下一轮测试提升到工作局域网,并包括实际基准测试,例如多客户端测试和 OPI PostScript 文件创建。
在我们的测试中,Linux 目前是“局域网之王”,并且看起来是图形艺术公司文件和打印服务器的绝佳选择。
