Java RESTful Engine Performance
This article outlines some Java RESTful Engine load tests that we ran.
Depending on your load, size of data, or the expected size of out put you will need a server with more RAM. If you believe you have enough memory on your server and are experiencing issues producing output, check the catalina.out logs for an out of memory exception. If you see that, you can try to follow the steps [here](https://crunchify.com/how-to-change-jvm-heap-setting-xms-xmx-of-tomcat/) to increase / decrease your heap size
Performance Tests
For these tests, we used two different "sized" virtual machines on AWS. These are the specifications of the VMs we used:
t2.small | t2.large | |
---|---|---|
vCPU | 1 | 2 |
CPU Credits/ hour | 12 | 36 |
Mem (GiB) | 2 | 8 |
Storage | EBS-Only | EBS-Only |
Network Performance | Low - Moderate | Moderate |
The tests consisted of sending about 16 requests per second for 1 minutes (~1000 requests). We measured the time from for first request to the time of the final document becoming ready on the disk. So the time it takes to post and process 1000 requests. Here are the results we found after running the tests.
Performance Test Results
Version 22.4.*
t2.small | t2.large | |
---|---|---|
Run 1 (Document/ second) | 1.63 | 2.75 |
Run 2 (Document/ second) | 1.67 | 2.62 |
Run 3 (Document/ second) | 1.52 | 2.60 |
Average (Document/ second) | 1.60 | 2.63 |