Skip to content

Performance improvement using reactive approach #2

@Arooba-git

Description

@Arooba-git

Hi 🙂,

Thank you for creating and maintaining this website, and providing clear guidelines. We successfully executed your project.

With the increasing popularity of Java app development, particularly reactive apps and virtual threads, we are conducting research on open-source projects to compare performance across three web development paradigms: imperative, reactive, and virtual threads. We evaluated performance in terms of CPU and memory usage, as well as request concurrency.

Thanks to your straightforward guidelines, we were able to run your project across all three versions. Our results show that reactive programming notably improved performance, as demonstrated in the table below:

Metric Original Reactive
Throughput (requests/sec) 2715.7 2766.2
Memory Usage (MB) 1477.1 376.4
CPU Usage (%) 29.2 14.2
Latency (longest processing time) 1.5s 10s
Requests Passed (%) 19.6 19

As a proof of concept, we have published a miniature version of your project using webflux, featuring only one endpoint for demonstration purposes. The demo project is available here if you would like to execute and compare the performance with the original.

Profiler used: JMeter
Test file: photo-HTTP-Request.jmx.zip

Kind regards.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions