脚本运转期间从15小时缩短到12分钟! 痛苦调优10小时 Spark 我把

  • 电脑网络维修
  • 2024-11-15
周一我就有个困惑,还写成文章了:如何从 Spark 的>

周一我就有个困惑,还写成文章了:如何从 Spark 的>

孩子们快进教室吧,求求了!

好信息是,组织一个班进教室,和组织一百个班同时进教室,破费的期间差不多。 因此,普通来讲,教员都是间接把一切在校生所有叫进这间教室来的。

然而我面临一个辣手的状况。我的操场上,有 2200 个班级,每个班级有 16 万人。我的教室也很大,然而必需装不下 2200 × 16 万人 ≈ 3亿人。

于是我就想着,我一个班一个班测,这是最直观的、最好治理的。

“来,一班,进教室!”...花了十几分钟才都叫出去...花了几十秒就都测好了、排好序了、记载好了...“好了!一班出去!二班出去!”...

如此往返,等到了第 2200 个班的时刻,曾通过去了快一个月...

内位看官讲话了:你把他们都叫出去不就行了?反正前面有条件:『组织一个班进教室,和组织一百个班同时进教室,破费的期间差不多。』

有情理,这就是我上午在做的事:把教室修大一点。

我请了土地局的人、请了工程师、请了施工队,尝试了各种方法,每次费尽力气修好(能容纳 5 亿人那种),教室就由于各种要素塌了。

唉!我计算过,通常上明明可以建成的呀!

我就不甘愿,就不时尝试,反重复复,而后几小时过去了。

这时又有位看官讲话了:别修教室了,你把孩子们分红几批,一次性叫几个班进教室不就得了!

有情理,可是这样原有的治理逻辑须要改一局部,着实破费了我一些期间。此外,还花了少量期间 debug 。

我初步设置为 100 班为一批进教室:

对照解释

下面其实就是我做的事的简化版,其中:

「教室」就是计算机的「内存」,你得把数据拿进内存才干对其启动排序什么的计算

「进教室」就是计算机的「IO操作」,计算机的内存很贵,普通的电脑都是 8G、16G 这种,而硬盘相对廉价,有 256G、512G,甚至几个 T之多,因此数据普通都放在硬盘上,须要用时,在读到内存里,这个读的环节叫做「IO操作」

「IO操作」相比计算,相当消耗期间

教员干活很利索,就是孩子们进教室有点吃力

以下是我的上班日志节选(脱敏版):

首先我是『把每个班级独自叫进教室』,很耗时。

7月19日早上大略9:30开局的,到7月20日中午0:23完结,一共 2200 列,每一列都有 160000 个数据,都要启动排序操作,还触及到 IO操作,一共用时 15 小时。这其中用时为 IO期间 和 对每一列处置

而其中,相比 IO ,计算期间(比如排序)可以疏忽不计,因此期间可以记为

于是我想着,能不能『把一切班级一下全叫进教室』,毕竟:

我开局着手「扩展教室」,尝试了很多,和性能文件 .conf 、 spark-shell 、 spark-env.cmd 、 JVM -Xmx4g等等这种资料、操作大战了一上午,无果。

一些截图: .conf

我以为我的尝试发生了成果,由于原有的失误不报了, collect 这个环节也能走完(孩子们都能进教室,之前是进不去的),然而一旦触及到操作(collect完结后会卡顿很久,无法前往应有的 Array),就会爆 JVM heap 。此外,通过一些其余调整后,不爆 heap 了,爆 GC overhead limitexceeded 这种渣滓回收疑问。

那我有理由疑心是性能被配件限度了。

于是我思考:『把孩子们分红几批,一次性叫几个班进教室』。

有很多 bug ,我最后选用的是一次性叫 100 个班级,用时大略 12 分钟。

“调优”完结。

总体来看,思绪上简直没什么难度,破费了这么多期间,关键是由于:

啊!要是用时15小时的代码不是1个月前的我写的,而是他人写的,那我把他调到 12 分钟,还显得我蛮凶猛的??开个玩笑,我宿愿大家写出的代码都是很棒的,这样我们都可以节俭出期间劳动??

好了,回去睡觉了,明日还得接着给“孩子们”做别的上班;而且还有另一所学校另一个上班(同时被指导布置两个上班并行有点难顶啊)。

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/8304.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号