千家信息网

storm如何提高运行速

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章将为大家详细讲解有关storm如何提高运行速,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。(1)要将系统中的算法调优。有可能一个算法浪费了一小部分时间,但由
千家信息网最后更新 2025年02月01日storm如何提高运行速

这篇文章将为大家详细讲解有关storm如何提高运行速,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

(1)要将系统中的算法调优。有可能一个算法浪费了一小部分时间,但由于数据量可能比较大,以至于整体上1秒的时间内可能浪费大量的时间。因此,算法的设计还是比较重要的。

(2)其次,就是调整系统中占用资源比较多、运算速度比较慢的那些spout和bolt。在进行topology设计时需要设计好每个bolt的并行度。对于运行速度比较慢的bolt,需要调大他们的并行度,是得更多的资源用到这些计算上面来。这里,bolt运行的快慢是可以从ui界面中看到的,如下图:

如上图,其中,capacity表示一种容量,其实就是占用的资源的百分比。比如,0.799就表示占用了79.9%的分配给这个bolt的资源。这个数值越大,则表示的处理起来速度越慢,则更要加大它的并行度。

(3)然后就是设置acker的数量。acker是在bolt成功处理后,进行ack调用的线程(还是进程,我忘记了)。当数据量比较大时,需要使用这个线程的次数就比较多,因此有可能这个线程就是制约处理速度的因素。因此,可以适当调大acker的数量,用于进行ack的调用。系统中,如果不设置的话,acker的数量默认为1;可以通过以下语句在topology中进行设定:

conf.put(Config.TOPOLOGY_ACKER_EXECUTORS, 10);//设置acker的数量

(4)当集群中数据量比较大时,则最好能设置spout中的等待处理的数据量的大小。当集群中等待的数据量比较大时,也就是数据发送比较快,但是处理太慢。这个时候应该阻止spout的发送,否则可能会导致系统队列爆掉。因此,设置以下:

conf.put(Config.TOPOLOGY_MAX_SPOUT_PENDING, 10000);//设置一个spout task上面最多有多少个没有处理的tuple(没有ack/failed)回复,以防止tuple队列爆掉

(5)在Spout调用nextTuple方法时,如果没有emit tuple,那么默认需要休眠1ms,这个具体的策略是可配置的,因此可以根据自己的具体场景,进行设置,以达到合理利用cpu资源。

topology.spout.wait.strategy "backtype.storm.spout.SleepSpoutWaitStrategy"topology.sleep.spout.wait.strategy.time.ms       1

关于"storm如何提高运行速"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

数据 处理 资源 运行 就是 数量 系统 时间 更多 算法 篇文章 线程 速度 设计 还是 队列 集群 不错 实用 较大 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库原理及应用 题库 提高网络安全指标措施 驻马店软件开发平均价格 讯天空网络技术有限公司 简历数据库应该做几张表 网络安全属于国家安全吗 临床决策支持数据库 国投安信期货软件服务器连接失败 福建省网络安全领导 软件开发工程师常见误区 软件开发的公司起什么名好 去服务器充电桩充电一度电多少钱 创建一个网吧计费的数据库 ug服务器 互联网金融网络安全问题 软件开发的年度总结怎么写 黄鹤杯网络安全 滨州管理软件开发哪家做的好 方舟生存进化手游官方服务器作弊 百度云免费云服务器 淄博市网络安全行业发展 网吧服务器作用和原理 网络安全技术与数据库实训报告 app更新需要发布到服务器上吗 触犯法律的网络安全事件 无锡市网络安全培训班视频 数据库技术初级考试辅导书书籍 mc服务器图标和名称 软件开发exe 巨梦科技互联网公司
0