2016-12-15 100 views
3

我们正试图从数据库中提取数百万条记录并每天在ERP系统中处理,并且我们正面临性能问题,有没有关于此的任何解决方案社区?性能问题从数据库中获取数百万条记录和在ERP中处理mule esb

处理骡子记录的最佳方式是什么?那么我们应该使用批处理还是有其他替代方法?如果我们使用批处理或其他解决方案,我们如何使用它以免遇到任何性能问题?

+0

可能会在下面的链接可以帮助你。 http://stackoverflow.com/questions/14714032/large-dataset-processing-using-mule-esb-from-database-how-to-update-the-process – Anurag

回答

0

由于我们没有关于您的具体情况的详细信息,因此以下是一些一般想法。处理大型数据集时,您肯定需要进行性能测试,以确保您的流程设计运行良好。

为了澄清,我在下面给出的选项显示流式传输,但性能稍差,但可以处理大型数据集。如果您可以在内存中处理数据集并且希望更快处理,请关闭流式传输。

  • 在mule以外的地方测试你的db查询,以确保它们是高性能的,并且表格被正确编入索引。
  • 使用流数据库连接。调整块大小进行性能测试。 (Using this with batch scope is a good combo
  • 如果使用内部部署运行时,请执行performance tuning
  • 使用批处理范围(企业版)
0

批听起来像你想要做什么。对于每个批处理步骤,Mule创建一个批处理作业实例,每个实例包含一个包含批处理记录的持久队列。但是,它会对包含流变量,流构造,消息,处理时间,会话和交换模式的MuleEvent进行深层次的复制,因此要小心,确保在进入批处理作业之前保持轻微的占用空间。如果您必须使用数百万条记录设置有效负载以便对变量进行流操作,请确保在开始执行批处理之前将其删除。它会将这些批处理步骤加载到内存中并同时执行它们,因此您需要的内存量将是批处理作业实例(特别是MuleEvent)的大小(按批处理步骤数)。

相关问题