前几天分享了几款国产 JDK ,最近也做了一些压测,今天把我所做的压测数据分享给大家,作为测试门外汉,不保证测试流程一定严格标准,测试用例及测试结果仅供参考,如果有不严谨的地方,希望大家多多指教。
测试需求如下:
准备需要用到的机器及 JDK,机器可以直接从云平台按需使用开出来,JDK 也提前下载好。
测试用例主要根据测试需求进行设计,本文使用测试技能点在之前的文章中已做过记录,推荐您可以查阅。
这个测试比较简单,就是在 单一机器架构下,更换不同的 JDK 进行分别压测,对比其性能差异,由于不同品牌各版本的结果基本一致,我这里只贴出一组数据用来辅助证明结论:
先抛出结论(性能从好到差排序):JDK 17 > JDK 11 > JDK 8
这个主要比较在 arm 机器上不同厂商的差异,在 x86 上各厂商的相差不大,主要对比在 arm 架构的适配。
先抛出结论(可能是用的 aliyun ec2 的原因):dragonwell > bisheng > kona > oracle
上 2 个测试结果其实已经可以看出端倪了,同样是 4c16g 的机器,在 arm 架构下性能下降明显,在测试过程中,更是发现 oracle jdk 8 压根连压测都跑不下去,会卡死不动
先抛结论:arm 同配置机器性能下降明显,cpu 利用率没有 x86 的利用率高,切换至 arm 8c16g 机器才与 x86 4c16g 相当
为了探究是不是 arm 机器存在偷工减料的情况,使用 golang gin 写一个 hello 项目进行测试,看看是不是也会下降。
先抛结论:arm 环境下 golang 项目性能基本与 x86 机器保持一致,不是 arm 机器偷工减料的问题
经过几天的测试,当然不止上面贴的那么多内容,上面是最终沉淀下来的比较具有普遍性和代表性的样例,希望对大家做决策有所参考,这里再回顾一下结论。
本次的分享到此结束,希望对你有所帮助。
如果你对我分享的内容感兴趣,欢迎扫码关注公众号:新质程序猿,并设置星标,推送更实时哟!