簡體   English   中英

Apache Nifi 中的更多處理器是否會導致吞吐量降低?

[英]Does more processors in Apache Nifi lead to lower throughput?

在 Apache Nifi 中,每個處理器之間都有連接,就像 FlowFiles 隊列一樣,Nifi 默認將 FlowFile 的數據內容持久化在磁盤上。 這是否意味着每個這樣的連接都將 FlowFiles 保存在磁盤上? 如果這是真的,那么每次將 FlowFiles 從一個處理器傳遞到另一個處理器都意味着一次磁盤讀寫,因此更多的處理器將導致更多的磁盤讀寫,這反過來會降低整個吞吐量。 我的理解正確嗎? 避免它的最佳做法是什么,在一個處理器中編寫所有內容? 謝謝。

NiFi 內部結構有點不同。 屬性值保留在 memory 中,FlowFile 內容保留在磁盤上。 因此,如果處理器正在對 FlowFile 屬性(如UpdateAttribute )執行操作,則無需訪問內容,但操作正在對內容(數據豐富)(如ValidateRecord )進行操作,然后將涉及磁盤 IO。 如果您觀察任何處理器,您可以看到Read/Write統計信息,這會告訴您發生的 IO 的數量。 有關更多詳細信息,請參閱處理器剖析

如果您有一個需要修改屬性和內容的自定義邏輯,那么您可以在一個自定義處理器中實現這兩個操作!

暫無
暫無

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

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