本篇内容主要讲解“storm topology优化思路是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“storm topology优化思路是什么”吧!
先假设一种环境,三台机器,cpu core 4,net KM 网
topology
component | name | executor latency(ms) |
spout | s | - |
bolt | A | 0.5 |
bolt | B | 0.1 |
bolt | C | 0.5 |
bolt | D | 1.0 |
bolt | E | 0.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优化思路是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。