关于OWST特性可以带来大数据任务的性能提升,我很难复现此效果。能否给一些具体的benchmark case和配置说明?
zhaoliangliang-focus opened this issue · 6 comments
linux版本:CentOS Linux release 7.6.1810 (Core)
JDK版本:TencentKona-8(Tencent Kona 8.0.7)
基测工具:Hibench(https://github.com/liubin2048/HiBench-8.0)
测试case:
micro.sleep
micro.sort
micro.terasort
micro.wordcount
测试集数据量:large huge gigantic三个量级
内存配置:
MR:Map/Reduce 堆内存均为:3G
Spark: spark.executor.memory=6g
MR和Spark均没有显式设置垃圾回收器,默认采用-XX:+UseParallelGC
谢谢试用,总体而言OWST是改善GC线程的竞争带来的CPU损耗,在我们的环境里面terasort大概有10%的提升。
如果没有改善,有可能你们的测试场景cpu负载不够高,或者GC线程spin和work stealing的开销不大。
有几点思路:
- 测试环境CPU是否达到80%以上?是否有分配了足够的MR\spark任务进程。
- 可以profile一下,是否升级前有很多spinpause或者offer termination的负载
谢谢试用,总体而言OWST是改善GC线程的竞争带来的CPU损耗,在我们的环境里面terasort大概有10%的提升。
如果没有改善,有可能你们的测试场景cpu负载不够高,或者GC线程spin和work stealing的开销不大。 有几点思路:
- 测试环境CPU是否达到80%以上?是否有分配了足够的MR\spark任务进程。
- 可以profile一下,是否升级前有很多spinpause或者offer termination的负载
感谢您的解答,根据您的建议,我重新测试了terasort场景,确保工作节点的CPU使用率超过80%,结果与您描述的基本一致。以下是我初步测试的结果,供参考:
1)对比openJDK,使用konaJDK 场景下GC次数相差不多
2)对比openJDK,使用konaJDK 场景下GC时间有明显缩短
3)对比openJDK,使用konaJDK 场景下terasort测试任务(MR)运行时间明显缩短(缩短约10%)
注:
我测试的目的是验证切换为TencentKona-8,是否可以给我的生产环境带来性能提升。本次验证方案我是做双集群对比测试,以下为我的测试环境补充说明:
1)搭建了两个CDH集群(各5台机器规模)进行对比测试
2)CDH版本为6.2.0,工作节点数为3个
3)测试机配置:32CPU 128G内存 5块SAS盘 万兆网卡
4)两个集群,一个采用OracleJDK:1.8.0_281,另一个是采用TencentKona-8:Tencent Kona 8.0.7
我会继续完成剩余的对比测试用例,如果您感兴趣,我会分享我最后的测试结果
非常感谢分享!
@zhaoliangliang-focus 有没有更多的测试结果可以分享
这部分相关的 commit 在哪里可以分享下么?