共計 838 個字符,預計需要花費 3 分鐘才能閱讀完成。
本篇內容主要講解“storm topology 優化思路是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“storm topology 優化思路是什么”吧!
先假設一種環境,三臺機器,cpu core 4,net KM 網
topology
componentnameexecutor latency(ms)spouts-boltA0.5boltB0.1boltC0.5boltD1.0boltE0.2
executor 代表數據進入 bolt execute 方法執行的時間,storm 通過采樣獲得,采樣在總數上肯定會有誤差,但平均數我們暫且認為其一定,這就相當于在 1W 個 1 中隨機選擇一個,怎么選都是 1,所以暫且我們假設 executor latency 可信,最后我們通過實際效率反過來再驗證我們的假設
假定,我們以一種參數提交了 topology,運行后 ui 查看參數如表格,我們觀察發現,A,C 兩個 bolt 延遲在 0.5ms,B bolt 延遲在 0.1ms,D bolt 延遲在 1.0ms,E bolt 延遲在 0.2ms,所以可以認為性能:B=2E=5A=5C=10D,所以我們提高整個 topology 的效率可以調整各 bolt 的并行度,我們設 B 的并行度為 X,可以得出 X+2X+5X*2+10X=All executor,如果在某個 bolt 中有阻塞情況,我們可以再額外提高一些并行度,該環境中三臺機器,最大并行度為 3 *4=12,X》=1,所以 X =1,由此可得出,B bolt 并行度為 1,所以每秒處理效率大概 =1000/0.1*1=1W
另外在 storm 中每個 worker 有個線程池,池大小默認為 core 數,我們可以根據情況提高池大小,提高 cpu 利用率
其它參數這里不提了,根據實際情況可以酌情調整
到此,相信大家對“storm topology 優化思路是什么”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!