6/9/2023 0 Comments Jrebel wildflyHere I look at GlassFish, Payara, JBoss EAP, WildFly, Weblogic and Websphere Liberty. Not all the application servers support the Full profile. Full profile means that all the Java EE 7 specifications are supported. Java EE 7 comes with a Web profile and a Full profile. To calculate the memory footprint, I use JConsole and take two measures: memory used at server startup, and memory used after few seconds (after the GC calms down a bit). That’s why I trigger the web admin console (when there’s one) so I’m sure at least one web application is deployed. Also remember that some servers do not load any container at startup, making them very fast to start. I just start the server a few times, check the logs to see how long it takes and use the best startup time. To calculate the startup time, I don’t do any fancy rocket science either. No optimization at all is made (I haven’t twisted the JVM, or any application server parameter… everything comes out of the box). I’m doing all my tests on a Retina OS X (16 Gb or RAM, SSD), no Docker! I use JDK 1.8.0_66 (when it’s not bundled with the server). I do not deploy any application, I don’t do fancy twists to gain performance… I’m just concerned about the usability of an application server for a developer in 2016. The idea of this benchmark is to download a Java EE 7 application server, install it, start it, launch the admin console if any, and take some measures : size of download, ease of installation, size on disk once installed, startup time, memory usage. The Benchmarkĭisclamer: This is not a real benchmark ! The main editors also have a Java EE 7 Web Profile implementation (GlassFish, Payara, Websphere) and some only implement the Web Profile such as Resin, Siwpas, or TomEE. Last but not least, the Servlet containers also run the Java EE 7 race as they implement Servlet 3.1, such as Jetty, Tomcat or Undertow. Jeus, from TmaxSoft and uCosminexus from Hitachi are still running the Java EE 7 race but are not as known as the other app servers. Websphere has now a Liberty and a Classic version. JBoss 7 EAP is still in Beta but WildFly (the community edition of JBoss AS) has been supporting Java EE 7 since version 8. You will have to look into Payara which is the supported version of GlassFish. Instead, Oracle is focusing on Weblogic which has Java EE 7 production support. GlassFish is still developped by Oracle and still is the Java EE reference implementation, but has no longer production support. Not sure about JonAS but it hasn’t been updated since. Geronimo is no longer supported and will not run the race of Java EE 7. State of Java EE Application Serversīefore diving into each implementation, let’s quickly see what happened in the application server land in these last 3 years. So let’s see where we are in terms of Java EE 7 implementations and production support. The idea is to do some “benchmarking”(basically, startup time, disk and memory usage) on application servers implementing Java EE 7. Java EE 7 came out in may 2013 and we have now many application servers that have passed the TCK. This gives a nice min and max memory usage.ĭamn, I’ve been waiting so long to publish this blog (which is the successor of the same post on Java EE 6 app servers). I’ve added Undertow to the test ( “Servlet-Only Distribution” on the WildFly download page), corrected some mistakes, but more important, I’ve changed the memory benchmark: I now take a memory usage measure at startup, I then perform GC and wait a bit for memory to stabilize.
0 Comments
Leave a Reply. |