wkhtmltopdf очень медленно работает на Debian без X-сервера - PullRequest
2 голосов
/ 09 июня 2011

Преобразование довольно маленького HTML-файла в PDF занимает 2 секунды для моей тестовой среды (Windows 7).На рабочем веб-сервере этому же файлу (Debian) требуется 193 секунды.

Веб-сервер работает с решением управляемого хостинга.Они установили wkhtmltopdf и сказали, что я должен использовать xvfb-run, чтобы он работал:

xvfb-run -a -s "-screen 0 640x480x16" wkhtmltopdf "input_file.html" "output_file.pdf"

Теперь, когда я пожаловался, что при использовании этой команды для генерации простого PDF требуется 193 секунды, говорят тамони ничего не могут с этим поделать.Это действительно так?

Редактировать : Каким-то образом моя поддержка управляемого хостинга решила эту проблему после некоторого подталкивания (теперь это занимает 0,8 секунды).Я думаю, что они могли бы перекомпилировать статические двоичные файлы wkhtmltopdf или что-то в этом роде.Теперь я запускаю wkhtmltopdf без xvfb-run.

Ответы [ 2 ]

2 голосов
/ 09 июня 2011

Полагаю, вы можете оставить xvfb работающим

xvfb :1 -screen 0 640x480x16 &
DISPLAY=:1 wkhtmltopdf "input_file1.html" "output_file1.pdf"
DISPLAY=:1 wkhtmltopdf "input_file2.html" "output_file2.pdf"
DISPLAY=:1 wkhtmltopdf "input_file3.html" "output_file3.pdf"
  • У меня нет опыта работы с xvfb (я использую x11vnc, Xnest и Xephyr с аналогичными подходами, как показано выше).
  • Используйте неиспользованный vtty (: 1,: 2,: 3 ...)
  • возможно, сейчас есть условие гонки, и в этом случае вы можете захотеть sleep .5 или что-то еще до запуска wkhtmltopdf)
1 голос
/ 29 февраля 2012

wkhtmltopdf будет очень медленным, в данном случае он выполняет программную визуализацию изображения, поскольку нет доступного графического процессора.

Альтернативой является переход к http://wkhtmltopdf.org и загрузка одного из статических изображений. Они могут быть запущены в режиме без головы и вообще не требуют X-сервера. Это все еще медленно, но имеет преимущество в том, что у него меньше движущихся частей.

...