簡體   English   中英

我的拓撲的處理速率約為每秒 2500 條消息,但完整延遲約為 7 毫秒。 它不應該等於 1000 / 2500 = 0.4ms 嗎?

[英]My topology's processing rate is about 2500 messages per seconds, but Complete latency is about 7ms. Shouldn't it be equal 1000 / 2500 = 0.4ms?

我的拓撲從 RabbitMQ 讀取,它的處理速率約為每秒 2500 條消息,但完整延遲約為 7 毫秒。 它不應該等於 1000 / 2500 = 0.4ms 嗎?

拓撲總結:

拓撲總結

請幫助我理解,在我的例子中參數 Complete latency 是什么意思。 拓撲處理來自 RabbitMQ 隊列的消息,速率約為 2500/秒

RabbitMQ 截圖:

RabbitMQ 屏幕截圖

根據Storm 文檔,完整的延遲僅適用於噴口。 它是元組發出后確認或失敗所花費的平均時間。 所以,這是你的 rabbitmq-spout 發出元組和最后一個螺栓確認它之間的時間。

Storm 有一個內部隊列來做壓力,這個隊列的最大大小在配置中的 topology.max.spout.pending 變量中定義。 如果你將它設置為一個高值,你的 rabbit 消費者會在使用拓撲中的螺栓進行實際處理之前從 rabbit 讀取消息以完成此隊列,從而導致對拓撲的實際延遲的錯誤測量。

在 RabbitMQ 面板中,您可以看到消息從中消耗的速度有多快,而不是它們是如何處理的,您比較熱和圓。

為了測量延遲,我建議運行您的拓撲幾天,根據您的屏幕截圖,202 秒太緊了。

暫無
暫無

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

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