![]() The software to generate load and monitor the JVMs I assigned to specific CPUs not shared by the JVMs processing the load. Thus I migrated my docker-compose file back to version 2 format which does allow assigning specific CPUs to test this. You can imagine assigning a specific CPU in a potentially multi host environment is not trivial. This is because the people working on Docker appear to want to get rid of docker-compose (which is a separately maintained Python wrapper around Docker commands) in favor of docker stack deploy which uses Docker Swarm and maybe Kubernetes in the future. In addition, the version 3 format does not support assigning resource constraints at all when you use docker-compose to run it. The version 3 docker-compose format does not support assigning a specific CPU to a process. Using docker-compose to configure a specific CPU for a process is challenging. Assigning a specific CPU and memory to a process The findings did not change under these different circumstances. I also compared startup, under load and without load situations. Assigning specific resources to the processes (using docker-compose v2 cpuset and memory parameters) did not seem to greatly influence the measures of individual process load and response times. I also did several tests which put resource constraints on the load generating software, monitoring software and visualization software (assign different CPUs and memory to those resources). ![]() For example assign a dedicated CPU and a fixed amount of memory. How can you be sure there is not something interfering with your measures? Of course you can’t be absolutely sure but you can try and isolate resources assigned to processes. Everything was running in Docker containers except SoapUI. ![]() My test application consisted of a reactive (non-blocking) Spring Boot REST application and I’ve used Prometheus to poll the JVMs and Grafana for visualization. I also looked at the effect of resource isolation (assigning specific CPUs and memory to the process). In this blog I’ll describe a setup I created to perform tests on different JVMs at the same time. Solid performance research however is difficult. Which would be the best to use? This depends on various factors. Of course, there are certain processes (that I'm currently not aware of) you have to follow before you do that.There are many different choices for a JVM for your Java application. Many companies (like Twitter) have their own JDKs. Considering the fact that Oracle JDK gets its source from OpenJDK these claims will always be difficult to prove.Īlso, on an unrelated note, you can create your own JDK provided you follow the Java language specifications. But these claims, generally, cannot be verified. There have been instances where people claim that they had issues while running OpenJDK and that got solved when switched over to Oracle JDK or vice versa. There are still people claiming OpenJDK is worse than Oracle's JDK, but it's become a myth. However, nowadays, except for the java-web-plugin (which was rewritten by the community and named icedtea-web), they are exactly the same. In the days of Java 6, there used to be a big difference between the two of them, OpenJDK running slower and supporting less. My understanding is that all of the development and bug fixes happen in OpenJDK and then they are propagated to the Oracle JDK. ![]() So, since Oracle JDK gets its source from OpenJDK, there is no major technical difference between Oracle JDK and OpenJDK. As far as I know, Oracle JDK’s build process builds from OpenJDK source code. The Oracle JDK is maintained by Oracle (surprise) whereas OpenJDK is an open source implementation with contributions from the open Java community as well as Oracle. So, if you're not into development and just want to run applications written in Java, then you can just install the JRE. The JRE is stand-alone and doesn't contain any compiling or debugging tools. Firstly, a JDK consists of a Java Runtime Environment (JRE) and various tools that help you to compile and debug Java code.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |