![Сервер CUPS тратит много времени на печать некоторых заданий](https://rvso.com/image/1316142/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20CUPS%20%D1%82%D1%80%D0%B0%D1%82%D0%B8%D1%82%20%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8%20%D0%BD%D0%B0%20%D0%BF%D0%B5%D1%87%D0%B0%D1%82%D1%8C%20%D0%BD%D0%B5%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D1%85%20%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B9.png)
У меня настроен сервер CUPS, на который могут печатать машины Windows. Кажется, все работает хорошо (Microsoft Office и некоторые другие программы, которые я пробовал), за исключением Adobe Acrobat Pro. Проходит много времени — иногда около 40 минут — прежде чем задания на печать будут успешно выполнены.
Я устанавливаю CUPS LogLevel на Debug и замечаю, что это всегда последние несколько строк перед зависанием:
...
D [25/May/2012:15:09:24 -0700] cupsdSetBusyState: Not busy
D [25/May/2012:15:09:24 -0700] cupsdReadClient: 12 POST /printers/printer HTTP/1.1
D [25/May/2012:15:09:24 -0700] cupsdSetBusyState: Active clients
D [25/May/2012:15:09:24 -0700] cupsdAuthorize: No authentication data provided.
D [25/May/2012:15:09:24 -0700] cupsdReadClient: 12 1.0 Print-Job 2
После этой последней строки некоторое время ничего не происходит.
Ничего, кроме этих строк, повторяемых снова и снова:
D [25/May/2012:15:15:03 -0700] Report: clients=1
D [25/May/2012:15:15:03 -0700] Report: jobs=72
D [25/May/2012:15:15:03 -0700] Report: jobs-active=0
D [25/May/2012:15:15:03 -0700] Report: printers=2
D [25/May/2012:15:15:03 -0700] Report: printers-implicit=0
D [25/May/2012:15:15:03 -0700] Report: stringpool-string-count=8555
D [25/May/2012:15:15:03 -0700] Report: stringpool-alloc-bytes=11344
D [25/May/2012:15:15:03 -0700] Report: stringpool-total-bytes=163552
D [25/May/2012:15:15:15 -0700] cupsdNetIFUpdate: "lo" = localhost:631
D [25/May/2012:15:15:15 -0700] cupsdNetIFUpdate: "eth0" = <server-ip>:631
D [25/May/2012:15:15:15 -0700] cupsdNetIFUpdate: "lo" = localhost:631
D [25/May/2012:15:15:15 -0700] cupsdNetIFUpdate: "eth0" = <server-ip>%eth0:631
Они продолжают повторяться до тех пор, пока через некоторое произвольное (и разное) время я не увижу эти строки, и вскоре документ начнет печататься.
D [25/May/2012:15:15:35 -0700] Print-Job http://<server-ip>:631/printers/printer
D [25/May/2012:15:15:35 -0700] [Job ???] Auto-typing file...
I [25/May/2012:15:15:35 -0700] [Job ???] Request file type is application/postscript.
D [25/May/2012:15:15:35 -0700] cupsdMarkDirty(----J-)
...
Однако печать из Microsoft Word не приводит к такому зависанию:
...
D [25/May/2012:14:17:25 -0700] cupsdReadClient: 17 1.0 Print-Job 2
D [25/May/2012:14:17:25 -0700] Print-Job http://<server-ip>:631/printers/printer
...
Однако Wireshark и tcpdump указывают на то, что связь осуществляется постоянно.
Есть ли у вас какие-либо идеи относительно того, как можно решить эту проблему?
РЕДАКТИРОВАТЬ
Я снова распечатал по сути тот же документ. На этот раз я заметил что-то другое перед зависанием:
D [25/May/2012:15:50:02 -0700] cupsdReadClient: 17 POST /printers/printer HTTP/1.1
D [25/May/2012:15:50:02 -0700] cupsdAuthorize: No authentication data provided.
D [25/May/2012:15:50:02 -0700] cupsdReadClient: 17 1.0 Print-Job 2
D [25/May/2012:15:50:02 -0700] cupsdReadClient: 21 1.0 Get-Jobs 10
D [25/May/2012:15:50:02 -0700] Get-Jobs http://<server-ip>:631/printers/printer
D [25/May/2012:15:50:02 -0700] Returning IPP successful-ok for Get-Jobs (http://<server-ip>:631/printers/printer) from <client-ip>
D [25/May/2012:15:50:23 -0700] Report: clients=4
D [25/May/2012:15:50:23 -0700] Report: jobs=73
D [25/May/2012:15:50:23 -0700] Report: jobs-active=0
D [25/May/2012:15:50:23 -0700] Report: printers=2
...
D [25/May/2012:15:54:23 -0700] Report: stringpool-alloc-bytes=11376
D [25/May/2012:15:54:23 -0700] Report: stringpool-total-bytes=167048
D [25/May/2012:15:54:30 -0700] Closing client 12 after 300 seconds of inactivity...
D [25/May/2012:15:54:30 -0700] cupsdCloseClient: 12
D [25/May/2012:15:54:30 -0700] Closing client 13 after 300 seconds of inactivity...
D [25/May/2012:15:54:30 -0700] cupsdCloseClient: 13
D [25/May/2012:15:54:40 -0700] cupsdNetIFUpdate: "lo" = localhost:631
D [25/May/2012:15:54:40 -0700] cupsdNetIFUpdate: "eth0" = <server-ip>:631
...
D [25/May/2012:15:55:23 -0700] Report: stringpool-total-bytes=167048
D [25/May/2012:15:55:32 -0700] Print-Job http://<server-ip>:631/printers/printer
D [25/May/2012:15:55:32 -0700] [Job ???] Auto-typing file...
I [25/May/2012:15:55:32 -0700] [Job ???] Request file type is application/postscript.
D [25/May/2012:15:55:32 -0700] cupsdMarkDirty(----J-)
...
Файл вышел из принтера в 15:56, но, похоже, это самая большая часть задержки.
ПРАВКА 2
Я должен отметить, что печать в файл XPS из Adobe Acrobat, а затем печать на принтере сервера CUPS изXPS-файлне производит такой задержки. Так что, похоже, виновником является Adobe Acrobat.
РЕШЕНИЕ
В конце концов я решил проблему, выбрав неуниверсальный драйвер PostScript для принтера (в Windows).
решение1
Вы смотрели на размер файла печати, созданного Adobe Acrobat?
Если он очень большой по сравнению с Word, это может объяснить задержку.