Skip to content

A performance test for the following backend RESTFull API + Java Microservices alternatives: Grizzly, Spring Boot + embedded tomcat and Payara Micro

Notifications You must be signed in to change notification settings

fabricio-suarte/java-backend-performance-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-backend-performance-test

A performance test for the following backend RESTFull API + Java Microservices alternatives: Grizzly, Spring Boot + embedded tomcat and Payara Micro. All the 3 implementations are based on Jersey.

This is the repository that contains the implementation for the performance test commented in my blog in the following post:

Java Microservices: what is the way to go

About the directories structure:

In the 'simulation' directory, you can find the Gatling (htt://gatling.io) load test script and result directory, which contains the results produced during my test.

Each server implementation has its own directory and project. It uses Gradle and you can open / import it on Intelij (I used the community edition).

In order for running the servers and test:

Make sure you have in your environment:

  • A JVM 1.8 or higher installed and the JAVA_HOME properly set
  • Gatling 2.3 or higher installed and properly set on your path
  • Linux file descriptors and ephemeral TCP/IP port range properly set (take a look at the blog post mentioned above for more details)
  • No other server running on port 8080

Recommended (not strictly necessary):

  • Gradle 4.6 installed

Building, running and testing:

Grizzly

In a console, from the directory "jersey-grizzly":

./gradlew build
java -jar build/libs/jersey-grizzly-backend.jar

In another console window, from the repository root folder (running the test):

gatling.sh -rf simulation/results -sf simulation/

Confirm twice with "enter". The results of your test will be found in the "simulation/results" directory.

Payara Micro

In a console, from the directory "jersey-payara-micro":

./gradlew build
java -jar extlibs/payara-micro-5.181.jar --deploy build/libs/jersey-payara-micro-backend.war

In another console window, from the repository root folder (running the test):

gatling.sh -rf simulation/results -sf simulation/

Confirm twice with "enter". The results of your test will be found in the "simulation/results" directory.

Spring Boot

In a console, from the directory "jersey-spring-boot":

./gradlew build
java -jar build/libs/jersey-spring-boot-backend.jar

In another console window, from the repository root folder (running the test):

gatling.sh -rf simulation/results -sf simulation/

Confirm twice with "enter". The results of your test will be found in the "simulation/results" directory.

About

A performance test for the following backend RESTFull API + Java Microservices alternatives: Grizzly, Spring Boot + embedded tomcat and Payara Micro

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published