Why do we need to change the Java Version to 11 and provide a feedback to vendor?
Today I would like to provide my feedback about using JDK 11 and JDK 8. My reason for that is motivating the other person to go forward with new releases, instead of waiting for the more stable and more robust release, who will test and provide if everyone will wait?
That story of performance depute of JDK 11 vs JDK 8, as that depute started from that article (reasons to stick Java 8) with one of member of Atlassian community, so fully correct way is measure one your instance.
So what about to make a real performance testing on our copy production Jira? As Atlassian team provided a pretty simple toolkit to make performance tests (performance-toolkit), sure we can to it.
My setup based on the next things:
- Copy of production Jira 8.5.4 on dedicated VM
- Changing the Java version via JAVA_HOME variables with the same arguments and GC strategy (G1GC):
[[gonchik.tsymzhitov@jirasandbox1 java]# /usr/java/latest/jre/bin/java -version
openjdk version "1.8.0-builds.shipilev.net-openjdk-shenandoah-jdk8"
OpenJDK Runtime Environment (build 1.8.0-builds.shipilev.net-openjdk-shenandoah-jdk8-b605-20200323)
OpenJDK 64-Bit Server VM (build 25.71-b605-20200323, mixed mode)
[gonchik.tsymzhitov@jirasandbox1 ~]$ /usr/java/latest/bin/java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.7+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.7+10, mixed mode)
- I used the performance toolkit with the next variables:
You can play with concurrency for the more interesting results, for understanding the exist situation is enough to check with concurrency 200.
So here we go to see a process:
After waiting 2 hours I got the next results for the standard of tests from performance toolkit.
For the testing used the below tests:
So based on that you can see a graph of tests:
Let’s have looked a deep into main functions like create issue and view issues:
First of all, a big thank to the Atlassian Team who made so easy to go the performance toolkit. Based on the measure, I would say for one of the instances the JDK8 and JDK11 are not clear, as most of the G1 improvements made with backports, but if more and more software will go forward, hence industry will go forward.
Hence I want to say a big thank you for the developers for the tuned Atlassian suite to be with JDK11. Hence most of my instance works on adopt JDK 11 with Shenandoah GC. I hope they want to improve themselves software as soon as possible with minimum of headache of dependencies, legacy and EOL, license agreements...
I think most of developers want to remove a legacy things, as we are end-users, we can provide more and more feedback and do upgrade, otherwise we need to go Cloud :).
Please, measure before upgrade your system or read more improved things from JEPS.
The next links will help you to migrate: