Suerte
July 24, 2024, 1:19pm
1
使用 aspose-cad-22.6.1.jar 大批量转换dwg为pdf文件时,后台出现接口响应慢甚至服务无法访问的情况。查看后台进程发现CPU飙高,且通过阿里的 arthas 查看发现后台 GC 线程在持续占用CPU,有什么方法能够解决转换时接口响应慢甚至服务无法访问的问题吗
测试环境如下
docker环境下的 ubuntu-x86
jdk 版本为 1.8
Java version “1.8.0_341”
Java™ SE Runtime Environment (build 1.8.0_341-b10)
Java HotSpot™ 64-Bit Server VM (build 25.341-b10, mixed mode)
测试代码和结果截图见连接
通过百度网盘分享的文件:demo.zip
链接:百度网盘 请输入提取码
提取码:wlf9
1 Like
@Suerte ,
您好。
处理某些文件时可能会出现此类行为。我们需要分析此文件,请在此处附加导致此类内存问题的 DWG 文件。我们还建议切换到最新的 24.3 版本,问题的根源可能已在那里得到解决。
遗憾的是,我们无法从百度下载这些文件,您能否考虑在此处将它们附加到 ZIP 中,将它们发布到其他服务,甚至发送到我的电子邮箱?
Suerte
July 25, 2024, 2:16am
3
@oleksii.gorokhovatskyi
能提供下电子邮箱吗?
我这边也更新到新版 24.3 版本试一试
Suerte
July 25, 2024, 4:29am
4
@oleksii.gorokhovatskyi
后续我更新到 aspose-cad-24.3.jar 后压测 大批量转换dwg为pdf文件 也会出现上述情况,具体测试代码和结果截图见附件
测试demo.zip (233.0 KB)
@Suerte ,
我可以看到在加载文件和导出期间有一些短时间的 CPU 使用率,但不是很大,而且似乎是预料之中的……无论如何,我们将对 Linux 系统进行更深入的测试,我们创建了 CADJAVA-11662 来更好地调查这个问题。如果您能分享一些不会导致此问题和/或会导致此问题的其他文件,我们将不胜感激,这可能有助于问题定位。
Suerte
July 26, 2024, 2:26am
6
@oleksii.gorokhovatskyi
好的,如果有进展了请在此Topic回复我
PS:我这边测试,当转换少量dwg文件时情况如你所说,CPU占用确实不是很高且时间也不长。
但是当大量文件同时转换的时候,CPU占用率和占用时间就比较高了。此时去请求其他接口时,接口响应过慢,甚至于只有当批量转换结束时,接口响应才返回。
我这边的 dwg 文件批量测试都是此情况
CPU占用率、接口响应和其他测试文件可参考附件
dwg测试文件.zip (80.8 KB)
转换dwg文件时的接口响应1.png (57.6 KB)
后台Java进程CPU占用率.png (9.4 KB)
1 Like
qiqiqi
July 30, 2024, 2:55pm
8
您好,为什么您的这个项目中没有包含gamma的依赖呢,是您自己写的库吗
Suerte
July 31, 2024, 1:52am
10
@qiqiqi
我重新看了下我之前提供的项目,只有压测代码中用到了gamma的类,以下是对应的源码
压测源码.zip (3.2 KB)