Unoconv / libreoffice命令行转换速度很慢

时间:2016-02-23 19:40:37

标签: php exec libreoffice unoconv

我正在使用unoconv或libreoffice通过odt->pdf转换文档PHP exec()。这个过程在我的一台服务器上很快(约1秒)。 现在我有另一个更快的服务器,这个过程需要近20秒! 并且它具有相同的小型20k文件。我用谷歌搜索,我设置相同的配置,并找不到任何线索 - 可能是什么原因?

当我正在使用unoconv和libreoffice时,结果是一样的。首先starting unoconv --listener时,可以在大约20秒内进行第一次转换。然后所有的转换都很快。

似乎简单的首发Libreoffice花了很多时间,但为什么呢?

1 个答案:

答案 0 :(得分:4)

看来答案很简单......

在流程列表中,我可以看到:

root      4197  1.1  0.2 1112580 66436 pts/2   Sl+  20:20   0:00 /usr/lib/libreoffice/program/soffice.bin --headless --invisible --nocrashreport --nodefault --nofirststartwizard --nologo --norestore --accept=socket,host=127.0.0.1,port=2002;urp;StarOffice.ComponentContext

似乎LibreOffice正在使用IP和端口进行一些内部通信,因此我关闭了防火墙(iptables)并且工作正常 - 从20秒到1秒!!

最后我发现IP6无法在防火墙上阻止本地连接,这就是造成问题的原因。

将此规则添加到iptables.v6配置文件后,一切正常:

ip6tables -A INPUT -i lo -j ACCEPT