Skip to content

TechEmpower benchmark is a lot slower with 7.0.0.pre1 #3715

@p8

Description

@p8

Describe the bug

The TechEmpower benchmark runs for rack-puma-mri-sequel-raw and rack-puma-jruby-sequel-raw show a significant performance regression after upgrading to Puma 7.0.0.pre1.

With Puma 6.6.0:

Image

https://www.techempower.com/benchmarks/#section=test&runid=9d2e8e26-cb0c-48ff-8b97-dc2081b2db61&w=zik0zj-zik0zj-zik0xr-8vn08v&f=zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-zik0zf-zik0zj-zik0zj-zik0zj-zik0zj-18y67

After upgrading to 7.0.0.pre1

Note that rack-sequel-postgres-puma-mri and rack-sequel-puma-mri still run on Puma 6.6.0.

Image

https://www.techempower.com/benchmarks/#section=test&runid=5db88eea-ccd9-4d03-bcd0-e5c8f90b921d&w=zik0zj-zik0zj-zik0xr-zik0zj&f=zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-zik0zj-zik0zf-zik0zj-zik0zj-zik0zj-zik0zj-27wr27

Puma config:

The config can be found in the repo.
The following command is used for starting puma.

bundle exec puma -C config/puma.rb -b tcp://0.0.0.0:8080 -e production

To Reproduce

Checkout the repo at: https://github.com/TechEmpower/FrameworkBenchmarks

Run the rack test with:

./tfb --test rack

I'm seeing things like:

rack: [8] ! Terminating timed out worker (Worker 4 failed to check in within 60 seconds): 29
rack: [8] - Worker 4 (PID: 54670) booted in 0.01s, phase: 0
rack: [8] ! Terminating timed out worker (Worker 7 failed to check in within 60 seconds): 41
rack: [8] - Worker 7 (PID: 54724) booted in 0.01s, phase: 0

The results can be expected with jq:

jq '.rawData.fortune.rack[4].totalRequests' results/20250829094943/results.json

Expected behavior

7.0.0.pre1 should perform better/equal to 6.6.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    v7Breaking changes for v7

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions