首页 > 其他分享 >FLink怎么做压力测试和监控?

FLink怎么做压力测试和监控?

时间:2023-06-02 10:23:19浏览次数:35  
标签:逻辑 RocksDB 监控 FLink 背压 延迟时间 测试 压力

我们一般碰到的压力来自以下几个方面:

一,产生数据流的速度如果过快,而下游的算子消费不过来的话,会产生背压问题。背压的监控可以使用Flink Web UI(localhost:8081)来可视化监控,一旦报警就能知道。一般情况下背压问题的产生可能是由于sink这个操作符没有优化好,做一下优化就可以了。比如如果是写入ElasticSearch,那么可以改成批量写入,可以调大ElasticSearch队列的大小等等策略。

二,设置水位线的最大延迟时间这个参数,如果设置的过大,可能会造成内存的压力。可以设置的最大延迟时间小一些,然后把迟到元素发送到侧输出流中去。晚一点更新结果。或者使用类似于RocksDB这样的状态后端,RocksDB会开辟堆外存储空间,但IO速度会变慢,需要权衡。

三,还有就是滑动窗口的长度如果过长,而滑动距离很短的话,Flink的性能会下降的很厉害。

参见链接:https://www.infoq.cn/article/sIhs_qY6HCpMQNblTI9M

四,状态后端使用RocksDB,还没有碰到被撑爆的问题。

五,尽量使用滚动窗口,这样会大大减轻存储的压力。

六,如果想要达到极限的低延迟,可以考虑使用处理时间(Processing Time)。

七,业务逻辑的编写是最重要的。在算子中(例如processElement, onTimer)业务逻辑一定要尽可能的简单,而不是特别复杂的业务逻辑(举个极端的例子,机器学习这种CPU密集型的程序,十几张表的Join)。如果业务逻辑很复杂的话,将会阻塞数据流的向下传递。性能会急剧下降。

标签:逻辑,RocksDB,监控,FLink,背压,延迟时间,测试,压力
From: https://www.cnblogs.com/robots2/p/17451006.html

相关文章

  • 为什么使用Flink替代Spark?
    一,Flink是真正的流处理,延迟在毫秒级,SparkStreaming是微批,延迟在秒级。二,Flink可以处理事件时间,而SparkStreaming只能处理机器时间,无法保证时间语义的正确性。三,Flink的检查点算法比SparkStreaming更加灵活,性能更高。SparkStreaming的检查点算法是在每个stage结束以后,才会保......
  • Web安全测试—什么是Web应用
    Web应用具有各种各样的形式和规模。使用各种语言编写,运行在各种操作系统上,以各种方式运行。Web应用的核心在于,它的所有功能都是使用HTTP进行通信的,结果通常采用HTML格式,输入是使用GET,POST及类似方法进行通信的。要成为Web应用,必须执行某种类型的业务逻辑(脚本、程序......
  • 数据治理核心保障数据质量监控开源项目Apache Griffin分享
    @目录概述定义为何要做数据质量监控基本概念特性架构安装Docker部署Docker镜像批处理使用Docker镜像流处理使用UI界面操作概述定义ApacheGriffin官网地址https://griffin.apache.org/源码release最新版本0.6.0ApacheGriffin官网文档地址https://griffin.apache.org......
  • 2021级《软件工程》测试河北宏志大学学生成绩管理系统
    2021级《软件工程》开发技能测试试卷(180分钟) 河北宏志大学学生成绩管理系统(卷面成绩40分) 河北宏志大学学生成绩管理系统1、项目需求:学生管理是各大院校的管理工作中尤为重视的一项工作,它一直以来是学校管理的一项重要的衡量指标。学生管理系统的应用解决了学校日常学生......
  • 测试打包
    11.关键字封装......
  • 微信语音功能测试点__肖sir__测试点整理
    微信语音测试点=========================1、实效性:发送的语音消息是不是能够及时的收到,有没有延迟2、总时长:发送语音的最长时间是多少3、使用性:发送语音的按键是否灵敏4、其他:在发送语音的时候是否影响其他的功能5、耳机:佩戴耳机使用麦克是否能正常的发送微信语音6、弱网......
  • arm-linux的TFTP 服务器搭建和测试
    这里并不会费劲的去介绍TFTP协议,那个意义不大,主要是教大家如何操作,在这个过程中进步。网络协议非常复杂,完整的网络协议一个人将资料看一遍,估计这辈子就过去了。在这个庞大的网络工程中,不同的工程师分别做不同的工作,作为嵌入式linux工程师,要做的就是拿别人做好的东西移植,在嵌......
  • Flink流式数据缓冲后批量写入Clickhouse
    一、背景对于clickhouse有过使用经验的开发者应该知道,ck的写入,最优应该是批量的写入。但是对于流式场景来说,每批写入的数据量都是不可控制的,如kafka,每批拉取的消息数量是不定的,flink对于每条数据流的输出,写入ck的效率会十分缓慢,所以写了一个demo,去批量入库。生产环境使用还需要优......
  • 自动化测试的优点有哪些?
    自动化测试是指通过使用软件工具来执行测试,而不是人工手动测试,以检测软件应用程序的功能、性能和用户体验等方面的问题。自动化测试可以减少测试过程中的人工错误,提高测试效率,并且可以在更短的时间内测试更多的测试用例。自动化测试的优点有许多。首先,它可以减少测试过程中的人工错......
  • flink安装(无hadoop)
    下载Flink:访问Flink的官方网站(https://flink.apache.org/),在下载页面找到适合你操作系统的预编译二进制包。选择与你的操作系统和版本相对应的下载链接,点击下载。解压二进制包:下载完成后,将二进制包解压到你想要安装Flink的目录中。你可以使用命令行工具(如tar命令)(没动)配置环......