Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8365493

Regression on Pet Clinic app with Compact Object Headers

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P3 P3
    • tbd
    • 26
    • hotspot
    • 25
    • x86_64
    • linux

      Observing a regression in requests / second on Spring Pet Clinic app when loading testing with oha (HTTP load generator).
      Regression ranges from 8% - 10% when running oha remote from the Pet Clinic app, (oha on one machine, Pet Clinic app on remote machine — full network stack). The regression is much larger (~ 30%) when running both oha and Pet Clinic on the same machine but isolating each in processor id sets using numactl.

      Steps to reproduce:
      1.) Grab a copy of Spring Pet Clinic (https://github.com/spring-projects/spring-petclinic). Follow instructions to build it. Instructions on how to launch Pet Clinic can also be found at previously mentioned download URL.

      2.) Grab a copy of oha, a http load generator, (https://sourceforge.net/projects/oha.mirror/)

      3.) Start Pet Clinic. The following command line was used to test with +UseCompactObjectHeaders on a 16 core AMD Rome machine running Linux:
      $ JAVA=$HOME/jdks/jdk-26-b10/bin/java
      $ numactl --physcpubind 8-15,24-31 ${JAVA} -Xmx16g -Xms16g -Xmn12g -XX:MetaspaceSize=128m -XX:ReservedCodeCacheSize=256m -XX:+UseParallelGC -Xlog:gc*:file=/tmp/coh-parallel-petclinic-gc.log -XX:+UseTransparentHugePages -XX:+AlwaysPreTouch -XX:-UseCompactObjectHeaders -jar ./target/spring-petclinic-3.5.0-SNAPSHOT.jar
      * Note, you may have to adjust the range of processor ids for the machine you are running on.
      For a baseline test without compact object headers, change -XX:+UseCompactObjectHeaders to -XX:-UseCompactObjectHeaders

      4.) Start the http load generator oha with the following command line:
      $ OHA=<path to the oha http load generator>
      $ numactl --physcpubind=1-7,17-23 ${OHA} -n 500000 --no-tui http://localhost:8080/vets.html
      * Note: you may need to adjust the range of processor ids for the machine you are running on.

      The oha http load generator will report statistics when it finishes. In its “Summary” section the last line is “Requests/sec:”

      Averaging 5 runs with -UseCompactObjectHeaders, the system under test does 1086 requests / second.
      Averaging 5 runs with +UseCompactObjectHeaders, the system under test does 688 requests / second.

            rkennke Roman Kennke
            huntch Charlie Hunt (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: