大量用户发起XeLaTex编译任务,如何加快服务器速度?

大量用户发起XeLaTex编译任务,如何加快服务器速度?

我开发了一个 Web 应用程序,它允许用户生成基于 PDF 的文档和整本电子书。或者至少它的当前版本目前已经足够完善。装饰和布局由名为 XeTeX 的排版引擎处理,内容由内部使用 XeLaTeX 格式化。但是,编译阶段太慢了,我需要更快的速度。从某种意义上说,我关于如何加快速度的问题可能适合 StackExhange 中的其他社区,但 XeLaTex 可能有一些特别之处,您可能更了解。

稍微不相关,但介绍网络应用程序的网站可以在这里找到:http://sovelluksien.hoito.org/kotvawrite/index.html

用户界面有多个屏幕,允许一次专注于某类任务。进行装饰和布局的屏幕上有很多按钮,这些按钮可以改变某个文档或整本书的外观(页眉、字体、图像边框等)。每次更改都需要一些时间。有时是几毫秒,有时是几秒钟左右。而且这只是针对一本书的单个章节或单个文档。

通过使用更强大的 CPU、更快的磁盘/内存、文件缓存等,可以部分避免这种缓慢的情况。网络延迟并不重要,因为以 JSON 形式发送的数据不是很大,预览图像加载速度很快。

因为有很多组合可以尝试,如果有几十甚至几百种字体,则只有少数经过精心挑选的字体可供用户尝试,因为他/她可能希望将它们与行距、章节名称的样式、页码等相匹配。还有图像位置、列数、页面大小和一些更花哨的设置。

每一个改变都会导致生成一个 PDF 文件(例如电子书的章节),该文件存储在服务器上,之后用户将在用户界面的某个位置看到所有生成页面的 PNG 版本(尺寸缩小,滚动条和缩放功能可用)。

好吧,看来我的问题可以简化为:如果目标是加快 XeLaTex 编译速度(一般来说),我需要准备花多少钱购买一台合适的(CPU、磁盘、内存?)、高性能的“裸机”服务器,该服务器以 CentOS 为操作系统?我还会失望吗?

相关内容