Spark 通用的性能配置方法:内存和CPU的配置

简介: 前言 本文主要介绍关于通过配置Spark任务运行时的内存和CPU(Vcore)来提升Spark性能的方法。通过配置内存和CPU(Vcore)是比较基础、通用的方法。本文出现的Demo以X-Pack Spark数据工作台为背景介绍,数据工作台的详细介绍请参考:数据工作台。

前言

本文主要介绍关于通过配置Spark任务运行时的内存和CPU(Vcore)来提升Spark性能的方法。通过配置内存和CPU(Vcore)是比较基础、通用的方法。本文出现的Demo以X-Pack Spark数据工作台为背景介绍,数据工作台的详细介绍请参考:数据工作台

提交Spark任务的参数

提交Spark任务时需要提供如下的参数。

--class org.apache.spark.examples.SparkPi
--driver-memory 2G 
--driver-cores 1
--executor-cores 2
--executor-memory 8G
--num-executors 3
--name spark-pi
...

其中下面的参数都是和此次spark任务执行的性能相关。

--driver-memory 2G   //分配给Driver的内存。
--driver-cores 1         // 分配给Driver的Vcore。
--executor-cores 2    //分配给Executor的Vcore。
--executor-memory 8G   //分配给Executor的内存。
--num-executors 3  //分配的Executor的个数。

这些配置会影响spark任务执行的并行度、可用的Vcore和内存,从而影响执行的性能。下面分别看下如何配置这些参数。

并行度

按照上面的配置,此次spark任务的运行并行度为:--executor-cores的值 --num-executors的值,即23=6;也就是说同时最多会有6个task同时执行。
假设此次任务60个task,每个task执行时间为1秒,则此任务运行时间为:60/6*1=10秒;
先把--executor-cores提升为3,--num-executors提升为10,则此任务运行时间为:60/30*1=2秒。
所以增加并行度是提升性能比较常用和直接的方法。

Executor的资源配置

--executor-cores一般设置为2~4比较合适,一般通过和--num-executors组合来提升spark任务的并行度。
--executor-memory内存的配置一般和--executor-cores有一定的比例关系,比例常用的访问为1:2 到1:4之间。可以根据task运行过程GC的情况适当调整。Task运行时的GC情况可以通过Spark Job UI查看,如下图:
Snip20190708_3
其中Duration为task运行的时间,GC Time为task运行的Gc 时间。如果GC时间较长,可以适当增加--executor-memory的值或者减少--executor-cores的值(如果资源不足的话)

Driver的资源配置

--driver-memory和--driver-cores一般设置比较少,2G和1cores也基本共用。但是如果有算子把数据都拉倒Driver上去处理,需要增加--driver-memory的值,不过也建议这么做,因为这样最增加Driver的压力。如果

结束语

本文主要列出最基本的方法,Spark性能的调优时可以结合运行时Spark Job UI 查看每个任务的运行状态进行调优。其他调优方法和参数会陆续推出。
Spark详细配置请参考:Spark Configuration
X-Pack Spark介绍请参考:Spark 基本介绍

相关文章
|
2月前
|
弹性计算 ice
阿里云4核8G云服务器配置价格:热门ECS实例及CPU处理器型号说明
阿里云2025年4核8G服务器配置价格汇总,涵盖经济型e实例、计算型c9i等热门ECS实例,CPU含Intel Xeon及AMD EPYC系列,月费159元起,年付低至1578元,按小时计费0.45元起,实际购买享折扣优惠。
565 1
|
3月前
|
缓存 人工智能 算法
不同业务怎么选服务器?CPU / 内存 / 带宽配置表
本文详解了服务器三大核心配置——CPU、内存、带宽,帮助读者快速理解服务器性能原理。结合不同业务场景,如个人博客、电商、数据库、直播等,提供配置选择建议,并强调合理搭配的重要性,避免资源浪费或瓶颈限制。内容实用,适合初学者和业务选型参考。
682 0
|
2月前
|
弹性计算 定位技术 数据中心
阿里云服务器配置选择方法:付费类型、地域及CPU内存配置全解析
阿里云服务器怎么选?2025最新指南:就近选择地域,降低延迟;长期使用选包年包月,短期灵活选按量付费;企业选2核4G5M仅199元/年,个人选2核2G3M低至99元/年,高性价比爆款推荐,轻松上云。
193 11
|
2月前
|
弹性计算
阿里云ECS云服务器8核16G配置收费价格,多种ECS实例CPU及费用清单
阿里云8核16G云服务器价格因实例类型而异。计算型c9i约743元/月,一年6450元(7折);通用算力型u1仅673元/月,一年4225元(5.1折)。实际价格享时长折扣,详情见ECS官网。
|
3月前
|
存储 缓存 数据挖掘
阿里云轻量应用服务器“CPU优化型”配置介绍、费用价格说明
阿里云轻量应用服务器推出CPU优化型,提供更强计算性能,2核4GB起,最高16核64GB,全系支持200Mbps带宽。适用于企业级应用、数据库、游戏服务器等高算力场景,保障稳定高效运行。
488 1
|
3月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器4核8G配置:ECS实例规格、CPU型号及使用场景说明
阿里云4核8G服务器提供多种ECS实例规格,如高主频计算型hfc8i、ecs.c9i、计算型c8i、通用算力型u1、经济型e等,适配不同应用场景,涵盖高性能计算、AI推理、Web服务、数据分析等领域。
479 2
|
4月前
|
弹性计算 前端开发 NoSQL
2025最新阿里云服务器配置选择攻略:CPU、内存、带宽与系统盘全解析
本文详解2025年阿里云服务器ECS配置选择策略,涵盖CPU、内存、带宽与系统盘推荐,助你根据业务需求精准选型,提升性能与性价比。
|
3月前
|
存储 消息中间件 缓存
从纳秒到毫秒的“时空之旅”:CPU是如何看待内存与硬盘的?
在数据爆炸的时代,如何高效存储与管理海量数据成为系统设计的核心挑战。本文从计算机存储体系结构出发,解析B+树、LSM树与Kafka日志结构在不同数据库中的应用与优化策略,帮助你深入理解高性能存储背后的原理。
150 0
|
5月前
|
存储
阿里云轻量应用服务器收费标准价格表:200Mbps带宽、CPU内存及存储配置详解
阿里云香港轻量应用服务器,200Mbps带宽,免备案,支持多IP及国际线路,月租25元起,年付享8.5折优惠,适用于网站、应用等多种场景。
1887 0