Java, Aspose从24年版本升级到25.12版本后,首次加载转换文档变慢,涉及word、ppt、excel、pdf、image

aspose从24年版本升级到25.12版本后,首次加载转换文档变慢,涉及word、ppt、excel、pdf、image,有没有可以调整的参数,或者预加载的方案?

@dejia ,

请提供更多的信息,比如系统信息,JDK版本,以及各个Aspose产品的具体的24年版本。
对于Aspose.Cells for Java, 请尝试转换一个空的workbook作为预加载方案:

Workbook workbook = new Workbook();
workbook.save(new ByteArrayOutputStream(), SaveFormat.PDF);
workbook.dispose();

旧版本:jdk8,tomcat容器,4C16G
aspose-cells:24.4
aspose-words:23.4
aspose-pdf:23.4
aspose-imaging:19.9
aspose-slides:20.7
aspose-email:24.4

新版本:jdk21,tomcat容器,4C16G
aspose-cells:25.12
aspose-words:25.12
aspose-pdf:25.12
aspose-imaging:25.12
aspose-slides:25.12
aspose-email:25.12

除了cells,其余组件可以如何处理?save空文件,dispose之后是否会自动清理?

@dejia,
您能否分享一些详细信息,说明我们可以如何重现您遇到的问题?

使用25.12版本的组件,1~3次使用时,从本地路径加载文档,速度比之后几次加载慢几十倍。并发加载时情况会更突出。

再就是执行svg转换的时候,耗时也时快时慢,耗时从1s到40s不等,差距较大。

@dejia ,

为了更好地比较性能差异,能否在新的“jdk21,tomcat容器,4C16G”中,使用原先的Aspose产品的老版本,比较一下与新版本的差异?

感谢您提供的补充信息。您能否提供示例文件?您可以将它们打包成压缩文件并在此处分享该压缩包。这将极大地帮助我们确定文档加载过程中的瓶颈。

@dejia 关于 Aspose.Words。问题可能出在 Aspose.Words 首次调用时会初始化静态资源(例如字体),这些资源会在后续调用中被重复使用。

例如,您可以创建一个包含一些文本的简单文档并将其保存为 PDF,然后在应用程序启动时强制 Aspose.Words 初始化资源,以避免实际请求出现“冷启动”的情况。

@alexey.noskov @peyton.xu
在升级到jdk21 25.12版本之前,并没有出现频繁的加载缓慢的情况,能否说明下,25.12版本加载变慢的原因?

补充信息:
1、25.12还遇到一个问题,如果license文件不在服务启动时加载,而是在首次使用时加载(首次使用是在一个子线程中),加载耗时会变到120s以上,如果在服务启动时加载,耗时只有2s,是什么原因导致耗时差异如此巨大?

2、25.12版本测试时,带图片的ppt加载与svg转换,前几次会特别慢。测试数据,加载一个2页310kb的ppt,耗时50s,svg转换,耗时14s,大概是普通场景的10倍。能否提供下,耗时过慢的原因?方便我们这边评估是否进行版本升级。

3、xlsx文档、docx文档、image图片,在版本升级到jdk21 25.12版本后,也同样出现了概率性变慢的情况。

@peyton.xu 下边是测试数据对比:

jdk8 slides 20.7版本
首次加载ppt文档1,310KB,2页,加载文档耗时2.6s,转换SVG耗时2s
再加载pptx文档2,3097KB,2页,加载文档耗时3.3s,转换SVG耗时2s
再加载pptx文档3,17801KB,22页,加载文档耗时3.7s,转换SVG耗时2s

jdk21 slides 25.12版本
首次加载ppt文档1,310KB,2页,加载文档耗时53s,转换SVG耗时16s
再加载pptx文档2,3097KB,2页,加载文档耗时27s,转换SVG耗时29s
再加载pptx文档3,17801KB,22页,加载文档耗时11.5s,转换SVG耗时9s

同样的文档,在25.12版本jdk21环境下,加载与转换耗时过长。另外,这里连续测试了3个文档,虽然后边文档的加载速度有提升,但总体耗时还是很长,这样,通过启动服务时初始化加载的方式,还是无法优化后续的加载速度。

1、能否提供下25.12版本变慢的原因?这边需要评估,是否进行版本的升级。
2、除了初始化加载的方案,还有其他的解决方法或者预加载的开关吗?

@dejia,

为了让我们能够真正分析该问题,请提供在首次加载/转换时出现性能变慢的示例文件。

我理解这可能会带来不便,但如果没有具体的文件示例,开发人员很难定位问题的原因(尤其是在首次调用和后续调用加载时间不同的情况下)。

从实际角度来看:

  • 示例文件将有助于判断问题是否与特定幻灯片内容、多媒体、字体、版式等有关。
  • 基于具体文件,我们可以在本地尝试复现问题,并提供针对性的建议或修复方案。

如果在上传文件时遇到困难(例如文件大小或涉及保密性问题),请直接说明,我们将建议安全提供数据的替代方式。

涉及公司保密条例,目前无法提供相关文档,目前测试结果,包含图片的ppt文档,应该都会涉及变慢问题。这边想知道slides从20.7版本到25.12版本,为什么会出现变慢问题,这边想测试其余版本的话,建议用哪些版本?

@dejia,
我们已在内部问题跟踪系统中创建了以下新工单,并将根据 Free Support Policies 中提到的条款调查此案例。

Issue ID(s): SLIDESJAVA-39785

如果您需要优先支持,并希望直接联系我们的付费支持管理团队,您可以获取 Paid Support Services。

不幸的是,如果没有示例演示文稿和代码,就无法进行分析。如果您无法提供真实的演示文稿,能否请您准备一个用于测试的模拟演示文稿?

根据问题描述,我们可以推测,这种行为是由于在过去五年中,我们显著扩展了对各种类型 SVG 和 EMF 图像的支持。以前只是被简单忽略的内容,现在会在加载过程中被处理。

您好,问题已经定位。aspose升级25.12版本后,类加载机制变更,与我们环境上的某些配置发生冲突导致。配置修改后,加载速度恢复正常。

@dejia
很高兴你的问题得到了解决。
如果方便的话,请具体说说是哪些配置的问题。