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