Skip to content

Performance degradation with webjars locator #1732

@apellegr

Description

@apellegr

Hello,
we see a significant regression on performance on some of Arm servers which is introduced by this patch (I didn't test on x86):

commit 91f55a4f7134409a832435de2c6df231102d5898 (HEAD -> head-2)
Author: Dave Syer <dsyer@vmware.com>
Date:   Wed Nov 27 08:32:30 2024 +0000
 
    Versionless webjars (again)
 
    Spring Boot 3.4 supports the webjars-locator-lite which in turn
    supports native images, so we are back to versionless URLs for
    webjars assets in templates.

The performance drop introduced is quite severe, going from 3.3k req/s on this little test to about 0.7k req/s.

user@PetClinic-test:~$ numactl -C 16 wrk -c 1 -t 1 http://localhost:8080 -d 60
Running 1m test @ http://localhost:8080
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.36ms   15.88ms 359.72ms   99.44%
    Req/Sec     3.37k   453.34     3.79k    93.80%
  200156 requests in 1.00m, 579.75MB read
**Requests/sec:   3335.91**
Transfer/sec:      9.66MB
user@PetClinic-test:~$ numactl -C 16 wrk -c 1 -t 1 http://localhost:8080 -d 60
Running 1m test @ http://localhost:8080
  1 threads and 1 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     2.59ms   16.94ms 374.89ms   99.41%
    Req/Sec   700.85     80.00   780.00     93.13%
  41660 requests in 1.00m, 120.67MB read
**Requests/sec:    694.05**
Transfer/sec:      2.01MB
user@PetClinic-test:~$

These are the steps to repro on Ubuntu.
Server:

    sudo apt update
    sudo apt install numactl wrk maven openjdk-17-jdk
    git clone https://github.com/spring-projects/spring-petclinic.git
    cd spring-petclinic/
    ./mvnw package
    numactl -C 0-7 java -jar target/*.jar

Client:
numactl -C 16 wrk -c 1 -t 1 http://localhost:8080 -d 60

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions