Skip to content

hpuac/dgs-4-10-4-performance-degradation-demo

Repository files navigation

DGS v4.10.4 performance degradation demo

UPDATE:
This issue was resolved within Netflix/dgs-framework#1092 and released in v5.0.2.
Thx a lot to the whole team taking care of the issue so fast.

The purpose of this repository is to demonstrate a performance degradation that was introduced in DGS v4.10.4.
This degradation only happens if the graphql-dgs-spring-boot-micrometer dependency is added.

Steps to reproduce:

  1. Run the generateJava gradle task
  2. Start the DemoApplication
  3. Run the request.sh test file and note down the response times
  4. Stop the DemoApplication
  5. Decrease the DGS version in the build.gradle.kts
  6. Repeat step 2 and 3.

My measured latencies

In the following table I averaged the latencies from 3 requests.

DGS v4.10.2 v4.10.3 v4.10.4 v5.0.0 v5.0.1
Without graphql-dgs-spring-boot-micrometer 101ms 111ms 104ms 102ms 106ms
With graphql-dgs-spring-boot-micrometer 145ms 147ms 842ms 867ms 864ms

It's clearly visible that there is a huge latency increase with graphql-dgs-spring-boot-micrometer enabled when updating from v4.10.3 to v4.10.4.
Since this shows best if the request contains many input arguments, the test request.sh file sends 3000 numbers as input arguments.

Appendix

I raised this issue in the DGS repository:
Netflix/dgs-framework#1089

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published