By Jakub Podlesak on Feb 12, 2015
During my sabbatical week in January i have done some performance improvements in Jersey server core module. These changes are already included in Jersey version 2.16.
To make sure the changes indeed made a positive difference i have re-established continuous performance testing for Jersey server side processing. These automated tests allowed Michal Gajdoš to collect some numbers that show how performance evolved within Jersey 2.x version space. In this post i would like to share part of the outcome of this measurement. I hope to be able to reveal more numbers and details on the test setup in later posts.
The above graph shows how Jersey throughput increased with increased Jersey version. Version 2.4 is emphasised here as till that version we had a serious bottleneck in Jersey, that avoided throughput to scale with increased number of worker threads.
The above numbers capture increased throughput for regular resource methods handling plain text payload, where no sub-resource locators are involved. Sub-resource locators used to have poor throughput in Jersey versions prior to 2.16. In 2.16 Michal fixed this and i would recommend you check out his post on this topic here.
I think that the above graph clearly shows that we take performance seriously in Jersey. I hope that we will be able to further improve performance of Jersey in future versions.