我找不到任何适合这个主题的东西:我们有一台 Solaris 服务器,运行着 CSW CUPS 和几台网络打印机。使用 LPD 打印很快,但是当我们尝试套接字或 SMB 时,速度非常慢(<1 秒,而小作业需要 30 秒)。
到目前为止,当有打印服务器仅支持套接字和 SMB 时,我们通过使用 LPD 避免了这种情况。客户拒绝更换设备(请不要问 - 我们尝试了一切)。
另一方面,为什么套接字会比 LPD 慢?有人知道要寻找什么吗?
非常感谢!
答案1
我知道我来晚了。可以通过设置 waiteof=false socket://uri:port?waiteof=false
来解决这个问题
http://www.cups.org/documentation.php/doc-1.4/network.html#SOCKET
CUPS 默认等待打印机准备就绪后再发送新的打印作业,以保证安全。这会导致其速度变慢,因为它要等待正在打印的内容完成。
另外请确保更新至 1.4.4。据说已经修复。
注意:
您需要安装比 1.4.4 更新的版本。主要发行版的 Cups 软件包仍然有此错误。
例如:Debian Squeeze(截至 2012 年,目前稳定),有 cups 1.4.4-7,但此错误仍然存在。我不得不从 sid(不稳定)安装 cups 1.5.3 来修复此问题。
答案2
可以尝试的事情:
- 尝试捆绑该过程并查看哪些系统调用看起来很慢。
- 尝试在通过 SMB 时监视网络流量。
- 增加 cupsd.conf 中的日志详细程度(
/etc/opt/csw/cups/cupsd.log
如果您使用的是最新版本的软件包)并读取日志(/var/opt/csw/log/cups/...
) - 检查您正在使用的 CUPS 版本以及谁提供它(是 Blastwave 还是 OpenCSW?)
- 在 IRC 频道上询问,如果你使用 OpenCSW 包,Freenode 上有 #opencsw
答案3
在网络上的任何时候更改网络/速度或双工有帮助吗?
大多数网卡默认为自动协商。我想知道将链接速度和双工强制为网络运行的速度是否有帮助。
我猜想使用 SMB 时“假脱机文件”会更大,因此需要通过网络发送更多数据。您需要使用网络嗅探器来验证这一点。