SparkStreaming本地化策略性能调优与使用场景分析
1.背景介绍:平台使用的华为FI C203的版本,通过SparkStreaming消费kafka数据后,进行算法处理入库。其中在算法部分耗时为4秒,每个批的数据量在30MB左右。执行算法部分的算子分区数据从50调大至150,发现算法部分时间开销仍然在4秒左右,并未提高。
2.调优手段:
spark.locality.wait
spark.locality.wart.process
spark.locality.wait.node
spark.locality.wait.rack
的默认3秒时间改为0秒。
3.原因解释
以上参数是调整会影响到数据本地化策略的。本地化策略有5种。
1.PROCESS_LOCAL:进程本地化,性能最好(相对数据量较大时)。
2.ODE_LOCAL:节点本地化。代码和数据在同一个节点中。
3.NO_PREF:数据从哪里获取都一样,比如从数据库中获取数据。
4.RACK_LOCAL:数据和task在一个机架的两个节点上,数据需要通过网络在节点之间进行传输。
5.ANY:数据和task可能在集群中的任何地方,而且不在一个机架中,性能最差(相对数据量较大时)。
将时间由3秒改为0秒时,spark来不及分析用哪种本地化策略,就已经被降级了(1->5,数字越大,级别越低),降级后的现象是数据shuffle到别的节点上进行算法处理,未降级的特点是算法随着数据走,数据并大部分集中在某一个或两个物理节点,由于cpu不够,反而降低算法处理的整体时间开销。然而sparkStreaming抓取的数据并不大,降级后数据跟随算法走,通过shuffle后,算法与数据分散到不同物理节点上,由于数据量少,网络传输快,cpu资源充足,反而效率更高。调整后算法的算子时间开销不到1秒。
4.总结
以上调优手段看使用场景使用,数据量小时时间调小;数据量大的,尽量让算法跟随数据走。
SparkStreaming本地化策略性能调优与使用场景分析的更多相关文章
- Java性能调优:利用JMC分析性能
Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC.JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JMC分析 ...
- [原创-性能调优]借助AWR报告分析解决oracleCPU过高的问题
简介:在oracle数据库中,有两个非常实用的自带监控工具EM(Enterprise Manager)和AWR(Automatic Workload Repository).其中,通过AWR报告可以生 ...
- JVM之调优及常见场景分析
JVM调优 GC调优是最后要做的工作,GC调优的目的可以总结为下面两点: 减少对象晋升到老年代的数量 减少FullGC的执行时间 通过监控排查问题及验证优化结果,可以分为: 命令监控:jps.jinf ...
- MYSQL数据库性能调优之三:explain分析慢查询
explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句.使用方法,在select语句前加上explain就可以了. 一.explain ...
- 业务系统请求zabbix图表性能调优
性能调优实践 性能调优实践 背景 问题分析 后端优化排查 前端优化排查 后端长响应排查 zabbix server 优化 总结 背景 用 vue.js 的框架 ant-design vue pro 实 ...
- sql server 性能调优之 CPU消耗最大资源分析1 (自sqlserver服务启动以后)
一. 概述 上次在介绍性能调优中讲到了I/O的开销查看及维护,这次介绍CPU的开销及维护, 在调优方面是可以从多个维度去发现问题如I/O,CPU, 内存,锁等,不管从哪个维度去解决,都能达到调优的效 ...
- 提高 web 应用性能之 CSS 性能调优
简介 Web 开发中经常会遇到性能的问题,尤其是 Web 2.0 的应用.CSS 代码是控制页面显示样式与效果的最直接“工具”,但是在性能调优时他们通常被 Web 开发工程师所忽略,而事实上不规范的 ...
- 【总结】性能调优:JVM内存调优相关文章
[总结]性能调优:JVM内存诊断工具 [总结]性能调优:CPU消耗分析 [总结]性能调优:消耗分析 JVM性能调优
- [转]提高 web 应用性能之 CSS 性能调优
简介 Web 开发中经常会遇到性能的问题,尤其是 Web 2.0 的应用.CSS 代码是控制页面显示样式与效果的最直接“工具”,但是在性能调优时他们通常被 Web 开发工程师所忽略,而事实上不规范的 ...
- CPU开销sql server 性能调优
sql server 性能调优 CPU开销分析 一. 概述 上次在介绍性能调优中讲到了I/O的开销查看及维护,这次介绍CPU的开销及维护, 在调优方面是可以从多个维度去发现问题如I/O,CPU, 内存 ...
随机推荐
- Linux 内核:I2C子系统分析(0)整体框架介绍
--- title: Linux I2C子系统分析:1-整体框架介绍 EntryName: linux-subsystem-i2c-0-about date: 2020-10-13 04:19:26 ...
- 你要的AI Agent工具都在这里
只有让LLM(大模型)学会使用工具,才能做出一系列实用的AI Agent,才能发挥出LLM真正的实力.本篇,我们让AI Agent使用更多的工具,比如:外部搜索.分析CSV.文生图.执行代码等. 1. ...
- wireshark常用过滤指令
前言 wireshark是一款高效且免费的网络封包分析软件,现就自己使用过的过滤表达式进行记录,随时更新. 正文 与.或.非指令 与:and && 示例:tcp and ip.src ...
- Maven的依赖详解和打包方式
设置maven maven下载与安装教程: https://blog.csdn.net/YOL888666/article/details/122008374 1. 在File->setting ...
- 使用ML.NET训练一个属于自己的图像分类模型,对图像进行分类就这么简单!
前言 今天大姚给大家分享一个.NET开源.免费.跨平台(支持Windows.Linux.macOS多个操作系统)的机器学习框架:ML.NET.并且本文将会带你快速使用ML.NET训练一个属于自己的图像 ...
- MySQL 递归查询实践总结
MySQL复杂查询使用实例 By:授客 QQ:1033553122 表结构设计 SELECT id, `name`, parent_id FROM `tb_testcase_suite` 说明: ...
- __int128的输入输出(快读快输)
引言:__int128不能用\(cin\)\(cout\)或\(scanf\)\(printf\). 快读 思想:把每一个字符读入,组成数字. int read(){ int x = 0,y = 1; ...
- Jmeter函数助手24-longSum
longSum函数可用于计算两个或多个长值的和.intSum函数参数值的范围在-2147483648到2147483647之间,而longSum函数的参数值范围比intSum的大. First lon ...
- iOS开发基础144-逐字打印效果
在AIGC类的APP中,实现那种一个字一个字.一行一行地打印出文字的效果,可以通过多种方法来实现.下面是一些实现方法,使用Swift和OC来举例说明. OC版 1. 基于定时器的逐字打印效果 可以使用 ...
- 1、Springboot2简介
在学习 SpringBoot 之前,建议先具备 SpringMVC(控制层).Spring(业务层)和 Mybatis(持久层)的相关知识 1.1.概述 1.1.1.Spring的缺点 Spring ...