Spring Batch Reader性能问题

时间:2017-05-09 13:41:43

标签: spring-batch

我们有一个Spring批处理代码,它从本地硬盘读取数据,创建一个Object并发送给Apache Solr进行索引。与使用独立运行代码时相比,我们发现使用JBoss时性能非常差。

使用YourKit分析器,我们看到消耗的时间是组件读取数据和创建solr对象所花费的时间。

对于我们记录的时间,对于1000条记录,独立需要7秒,在JBoss作为批处理过程,需要7分钟。 / **  *

 * Name : AccountingReader.java
 * Description: This class is used to read accounting source data from the flat files.
 * References : None
 */

public class AccountingReader implements ItemReader { /logger/ private static final Logger logger = LoggerFactory.getLogger(AccountingReader.class); private final ExecutionContext executionContext = new ExecutionContext(); private Resource resource; private FlatFileItemReader reader;

item.TransactionDate

相同的代码在单独触发时花费的时间更少。我们计划在修复当前问题后使用分区以提高性能。

需要时间的10条记录样本: < 37次电话> com.tms.incentives.batch.process.itemreader.AccountingReader.read()90 9 10 java.util.LinkedHashMap $ LinkedHashIterator.hasNext()LinkedHashMap.java 90 0 90 334267

0 个答案:

没有答案