加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

京东JDK在大数据平台的探索与研究

发布时间:2019-03-20 16:39:27 所属栏目:教程 来源:臧琳
导读:本文旨在概述京东在JDK偏向上的实行与试探,以及京东JDK项目配景,根基特征以及将来的事变偏向。对付JDK特征的技能接头,实现细节及结果,将在后续系列文章中深入接头。 一、HDFS简介 HDFS是作为最底层的漫衍式存储处事而存在的,是Hadoop的漫衍式文件体系

对付CDS,JEP中的先容如下:

  • We can save about 340MB of RAM for a Java EE app server that includes 6 JVM processes consuming a total of 13GB of RAM (~2GB of that is for class meta data).
  • We can improve the startup time of the JEdit benchmark by 20-30%.
  • We can reduce the RAM usage of the embedded Felix benchmark by 18% across 4 JVM processes.

京东JDK引入了最新的JDK12中关于CDS的新特征 - Default CDS Archives。该成果在编译阶段天生默认的Archive,而且无需用户指定JVM选项-Xshare:auto即可享受到CDS带来的利益。

(9) 并行的高效JMap Java堆说明器材:

JMap作为Java开拓职员常用器材,一样平常在观测OOM,查察堆工具漫衍时都能施展重要浸染。可是在一般事变中,发明对付大堆,譬喻堆内存设置为-Xmx200g时,在线上体系运行JMap histo时刻很是长,而且影响整个JVM历程的相应速率,一旦JVM历程被KILL,运行中JMap histo也无法提供有用信息。 颠末调研,JMap 器材在扫描Java堆时是单线程事变,而且只有在整个堆扫描完成时才会统计信息并输出。

针对JMap的题目,京东JDK团队对JMap举办了拓展,实现了其并行,增量式对扫描方案。对JMap histo在大堆上的扫描并行化,同时在运行中统计中间功效。使得JMap在200GB堆扫描机能晋升2倍,同时可以或许使JMap在运行进程中不绝输出中间功效,这样纵然JVM历程退出,JMap仍能提供有用的信息用于说明内存行使环境。

2. 京东JDK优化结果

颠末一系列的事变,今朝京东JDK已经顺遂应用于京东大数据平台HDFS的NameNode节点上,其对付打点结点优化到达50%, 见下图:

另一方面,JDJDK对付打点结点文件数承载手段从4亿上升到10亿,承载手段晋升1.5倍。缓解了营业方的需求,节减了人力。

针对G1GC 也做了相干优化, 优化后的G1GC 比拟之前JDK8的CMS的YoungGC停息时刻如下图:

GC产生的次数对付如下:

在加/解锁及线程同步方面,京东JDK团队也举办了深入的研究及优化,除了上文提到的方向锁以外,还操作JVM 的instrumentation等器材,对锁相干的bytecode举办线上优化,针对差异的HDFS会见,优化结果如下:

Mkdir:

Delete:

Getfileinfo:

Rename:

五、京东JDK的成长偏向

在将来,京东JDK团队将越发注重于降本增效方面的事变,我们打算举办更多的实行及创新,譬喻:

  • 用于特定行使场景的,独立的heap地区
  • 半自动式GC
  • 基于大数据应用场景的GC算法开拓及优化
  • 基于Graal的AOT成果的开拓及优化

同时,京东JDK团队也将起劲参加openJDK社区的开拓及研究事变,尽也许将京东JDK的特征孝顺到社区,让更多人可以或许行使到。

作者简介:臧琳,京东JVM专家,首要认真京东JDK针对京东大数据营业的定制化开拓及优化事变。专注于JVM中内存打点,runtime运行时以及JIT编译器的机能说明及优化等规模。

【本文来自51CTO专栏作者张开涛的微信公家号(开涛的博客),公家号id: kaitao-1234567】

戳这里,看该作者更多好文

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读