【发布时间】:2020-11-19 21:39:28
【问题描述】:
我只是在 mule 流中使用 HTTP 侦听器和 Select。它是一个get方法,将ID作为输入传递,将相同的ID传递给select(输入)。第一次通过 mule 执行时会延迟 3 到 4 分钟,但在 DB 中只需要毫秒。
此延迟仅在选择中添加参数后发生。
哪位大神帮帮忙,第一次为什么会出现延迟,如何解决?
【问题讨论】:
我只是在 mule 流中使用 HTTP 侦听器和 Select。它是一个get方法,将ID作为输入传递,将相同的ID传递给select(输入)。第一次通过 mule 执行时会延迟 3 到 4 分钟,但在 DB 中只需要毫秒。
此延迟仅在选择中添加参数后发生。
哪位大神帮帮忙,第一次为什么会出现延迟,如何解决?
【问题讨论】:
可能的原因可能是您创建元数据的方式。例如,您使用巨大的 CSV 文件作为数据结构的示例。 Mule 读取整个文件以获得标题。这需要时间。
解决方案 - 如果您通过示例创建元数据 - 使用带有几行数据的小示例。
【讨论】:
通常在第一次执行中导致性能问题的要点是:
第一个无法避免。对于第二个,通常使用连接池来缓解它。话虽如此,对于其中任何一个来说,4 分钟都是非常过长的时间。您需要进行一些性能分析,在流程中的操作前后添加日志,为数据库连接器启用调试日志,甚至使用连接到 Mule JVM 的 Java 分析器来了解可能发生的情况。
你还要考虑是否有大量的记录需要处理,即使数据库能快速回答,格式化也可能需要一些时间。
【讨论】: