Spring 批处理性能改进

Spring Batch Performance Improvement

我正在写一个 Spring 批处理,它需要从数据库 table 读取,然后处理读取的数据(同时读取更多数据库 tables),最后写入一个数据库。 Spring 批处理的性能需要更新,以便每 1 秒写入 10 个文件。

我按照这个 post 并设法通过使用多线程步骤提高了一些性能。

但仍然无法达到预期的性能目标。谁能指导我如何从 Spring 批处理中获得更多吞吐量。

您的表现取决于很多因素。

例如:

  • 您的查询是什么样的?有没有 joins/subrequest 可以拖慢你整个工作的速度?
  • 你的处理器是做什么的?
  • 您是否使用了索引表(在更快的驱动器上使用特定索引表空间)?

并行处理、多线程和分区只是性能提升的一小部分。