簡體   English   中英

在Spring Batch Application中為所有作業保持相同的塊大小

[英]keeping same chunk size for all jobs in Spring Batch Application

只是想知道在Spring Batch應用程序中將所有作業的塊大小保持相同是一種好習慣還是要根據特定作業的行為將其保持不同的大小?

我可以理解,答案顯然取決於很多因素,但是只是想知道什么是標准方法(如果有)。

謝謝

塊大小非常適合手頭的工作。 這是優化批處理作業性能的關鍵方法,可能特定於您編寫的每個作業。 例如,如果您的記錄很小,則可以在一個大塊中包含更多記錄,這將優化寫入次數。 如果您有大記錄,那么在兩次寫入之間可能無法容納足夠多的內存。

我認為理解決定塊大小時要考慮的因素將有助於回答這個問題。 例如,如果這些因素在您所有工作中都相同(盡管這種情況很少見),那為什么不呢。

有些書(例如“ Spring Batch in Action”)建議將塊大小通常保持在20到200之間。同一本書的一些建議如下:

  1. 塊大小太小會導致事務過多,這很昂貴,並使作業運行緩慢。
  2. 塊大小太大會使事務資源(如數據庫)也運行緩慢,因為數據庫必須能夠回滾操作。
  3. 提交間隔的最佳值取決於許多因素:數據,處理,資源的性質等等。
  4. 提交間隔是Spring Batch中的一個參數,因此請隨時更改它,以找到最適合您的作業的值。

所以是的,我們的想法是嘗試使用不同類型的樣本數據和不同塊大小運行作業,並為自己比較結果,然后選擇塊大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM