我们正在努力寻找XSL转换的原因,而XSL转换在相当长的一段时间内偶尔执行得非常糟糕。

到目前为止,我们无法找出任何真正的原因,因为它可能在高负载下发生,也可能在服务器基本处于空闲状态时发生。所附示例在15分钟内有158个请求时发生。因此,根本没有可提及的负载。

我们怀疑转换中使用了一些外部XML文档,但这似乎也不是问题,因为它们通常在几毫秒内加载,有时甚至几秒钟,但是没有什么可以解释请求花费200多秒的时间。

当我们稍后尝试检查是否有问题时,相同的转换运行得很好。

我们正在运行Fusion Reactor来监视我们的服务器,但也没有发现异常。在昨天的情况下,既没有高CPU负载,也没有其他异常。

我附上了来自Fusion Reactor探查器的屏幕截图,您可以在其中看到花费的时间,如果我们正确地解释结果,它似乎总是占据了99.x%的时间的“ scanDocument”部分。

有什么办法找出造成延迟的原因吗?

我们当前正在运行的版本是:

Ubuntu的:14.04.5 LTS
的Java:1.8.0_45
露西:决赛4.5.4.017

java - 查找Lucee中XSLT性能不佳的原因-LMLPHP

最佳答案

好吧,99.8%中有SocketInputStream.sockerRead0,所以我要怪网络连接慢。

程序的其余部分只是等待字节通过慢速网络连接到达,因此您不会看到CPU过多的情况

07-25 21:01