Aspose.HTML转PDF 并发压力测试时效率问题

我这边进行程序并发测试时发现HTML文件转换为PDF文档时的效率会出现严重的不稳定现象,处理耗时从最快的0.6秒-到最慢的近30秒,同时偶尔还会出现异常错误导致转换失败。

  1. 目前的测试情况为使用20个线程循环请求后台接口
    2.HTML文档都是同一个,文件大小为20K,内容只是一个简单的表格
    3.目前通过程序日志得到信息为 转换效率是慢慢变低的(从0.6慢慢增加到30秒) 且不会因为停止请求而恢复,只能重启程序
    4.同时偶尔会抛出一些转换中的异常导致转换失败
    烦请提供一些帮助,帮我解决此问题,非常感谢。
    附件为HTML到PDF的转换代码,和转换失败的错误信息
    img.zip (80.6 KB)

我使用的aspose-html版本为19.7

我在本地模拟了并得到了测试结果,使用的是同一个HTML文件。
我把依赖版本从19.7降低至18.8之后,转换过程中不会抛出异常,但效率仍然很慢。如果是我转换代码编写的不对请指正,多谢。
image.png (10.6 KB)
image.png (20.1 KB)
image.png (29.7 KB)

@zhmap

感谢您与支持人员联系。

还请将您的操作系统详细信息,JDK详细信息和示例HTML文件共享为ZIP,以便我们可以重现并进一步调查。

感谢您的回复,我使用的测试文件和代码已包含在附件中。我使用的操作系统为windows10,jdk为1.8。
zip.zip (2.3 KB)

感谢您的回复,我使用的测试文件和代码已包含在附件中。我使用的操作系统为windows10,jdk为1.8,
aspose-html版本为19.7。
zip.zip (2.3 KB)

@zhmap

感谢您分享所请求的数据。

在您提到的相同环境中工作时,我们会遇到不同的异常。 下面是堆栈跟踪的一部分供您参考:

结束执行, size: 6
java.lang.NullPointerException
pool-1-thread-1:HTML转PDF成功, 共耗时:1192毫秒
	at com.aspose.html.Configuration.initializeServices(Unknown Source)
	at com.aspose.html.Configuration.<init>(Unknown Source)
	at com.aspose.html.HTMLDocument.<init>(Unknown Source)
	at test.Task.call(Task.java:35)
	at test.Task.call(Task.java:16)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
java.lang.NullPointerException
	at com.aspose.html.z3.getDOMImplementation(Unknown Source)
	at com.aspose.html.dom.Document.<init>(Unknown Source)
	at com.aspose.html.dom.Document.<init>(Unknown Source)
	at com.aspose.html.HTMLDocument.<init>(Unknown Source)
	at com.aspose.html.HTMLDocument.<init>(Unknown Source) 

请您验证这个问题,以便我们继续进行。

是的没错,我运行代码出现的异常跟您贴出的内容的一致。我试过不同的html页面,只要是多个线程来执行转换代码,则总会有一部分会抛出异常。

@zhmap

感谢您的确认。

我们的问题管理系统中已记录带有ID HTMLJAVA-298的故障单,以便进一步调查和解决。

我们对造成的不便很抱歉。

请问目前能解决此问题吗?我的程序正被这个问题困扰着

@zhmap

我们担心可能需要一些时间。 我们会在有任何更新后立即通知您。

您好,您的意思是需要等到下一个aspose-html版本更新发布时才能解决此问题吗?

@zhmap

一旦调查,我们将能够分享ETA。 一旦有任何更新,我们会通知您。

楼主,麻烦问下,你实现html转pdf的代码,可以简单共享下吗?我现在windows环境实现了一版本但是会存在转换后乱码的问题。能否向您请教下

@jiangkuankuan

您可以检查给定示例中的代码以使用 Aspose 将 HTML 转换为 PDF。用于 Java 的 HTML。还请确保系统中正确安装了所有支持的字体,并且您使用的是最新版本的 API。

poPreAdvance.zip (64.3 KB)
乱码.pdf (231.7 KB)
可以帮忙看下poPreAdvance.zip解压出来的html文件转换成pdf文件需要那个字体嘛?,然后在共享下您那边的字体文件吧!!!乱码.pdf是我这边导出的乱码文件

我们这边使用的aspose-pdf17.9版本的是不是这个版本的有这个问题

@jiangkuankuan

抱歉弄错了。字体是 SimSun 而不是 SimSub。无论如何,请检查附加的字体文​​件。另外,请确保使用23.1版本,因为它是最新版本,支持是基于最新版本的API提供的。 17.9 是相当旧的版本,我们不为其提供支持。simsun.zip (9.1 MB)

好的,谢谢,我这边在研究一下子

@jiangkuankuan

请花点时间研究 API,如果您需要帮助,请随时告诉我们。