A Ruby/Rack web server built for parallelism (by puma)

Puma Alternatives

Similar projects and alternatives to Puma

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better Puma alternative or higher similarity.

Puma reviews and mentions

Posts with mentions or reviews of Puma. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-06.
  • Write your own Domain Specific Language in Ruby
    2 projects | dev.to | 6 Feb 2023
    That doesn't mean one excludes the other. Gems like Puma use the instance_eval method for their configuration file.
  • puma 6.0 released
    2 projects | reddit.com/r/ruby | 21 Oct 2022
    Anyway I did it: https://github.com/puma/puma/issues/3003 It's quite more complicated: https://github.com/puma/puma/issues/2999 A fix is in progress: https://github.com/puma/puma/pull/3002
    2 projects | reddit.com/r/ruby | 21 Oct 2022
  • Pitchfork: Rack HTTP server for shared-nothing architecture
    8 projects | news.ycombinator.com | 12 Oct 2022
    I'm the author of the original 'refork' feature introduced to Puma a couple years ago [1], that served as an inspiration for this project.

    As I understand it, Pitchfork is an implementation of a reforking feature on top of Unicorn, a single-threaded multi-process Rack HTTP server.

    The general idea of 'reforking' is that in addition to pre-forking worker processes at initialization time, you re-fork them on an ongoing basis, in order to optimize copy-on-write efficiency across processes, especially for memory allocations that might happen after initialization. The Pitchfork author mentions sharing YJIT machine code as a particularly important use-case [2], one that has become relevant in recent Ruby releases.

    I never saw much interest in the concept when I originally introduced the reforking feature to Puma, and it remained a kind of interesting experiment that never saw much production uptake. I'm thrilled that Shopify is iterating on the concept through this project and I hope the technique will continue to be refined and developed, and see broader adoption as a result.

    [1] https://github.com/puma/puma/pull/2099

    8 projects | news.ycombinator.com | 12 Oct 2022
    Puma is a multi-thread, multi-process Rack HTTP server that implements a request buffer.

    By comparison, Unicorn (the project upon which Pitchfork is based) is a single-thread, multi-process Rack HTTP server that does not buffer requests, so it's only designed for fast clients (or it needs to be paired with a proxy like Nginx to handle slow clients).

    The narrower design of Unicorn results in a simpler, less-flexible potentially more efficient architecture.

    The reforking feature that Pitchfork introduces to Unicorn was originally implemented in Puma [1], though they're controlled differently and the underlying implementations are entirely different.

    [1] https://github.com/puma/puma/blob/master/5.0-Upgrade.md#fork...

  • Minitest, we've been doing it wrong?
    4 projects | reddit.com/r/ruby | 2 Oct 2022
    The new test convention is now "test/**/test_*.rb" instead of "test/**/*_test.rb". For example, Puma and Minitest are popular repositories using this naming pattern.
  • Active_storage first time need help!
    11 projects | reddit.com/r/rails | 25 Sep 2022
    # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" gem "rails", "~> 7.0.4" # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] gem "sprockets-rails" # Use sqlite3 as the database for Active Record gem "sqlite3", "~> 1.4" # Use the Puma web server [https://github.com/puma/puma] gem "puma", "~> 5.0" # Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] gem "importmap-rails" # Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] gem "turbo-rails" # Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] gem "stimulus-rails" # Build JSON APIs with ease [https://github.com/rails/jbuilder] gem "jbuilder" # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] # Reduces boot times through caching; required in config/boot.rb gem "bootsnap", require: false # Use Sass to process CSS # gem "sassc-rails" # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] # gem "image_processing", "~> 1.2" group :development, :test do # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem gem "debug", platforms: %i[ mri mingw x64_mingw ] end group :development do # Use console on exceptions pages [https://github.com/rails/web-console] gem "web-console" # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler] # gem "rack-mini-profiler" # Speed up commands on slow machines / big apps [https://github.com/rails/spring] # gem "spring" end group :test do # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing] gem "capybara" gem "selenium-webdriver" gem "webdrivers" end
  • Zero traffic yet Puma is still getting pummeled — how to troubleshoot?
    2 projects | reddit.com/r/rails | 19 Sep 2022
    Hey, I am the Developer Community Manager at Render. I'm going to check in with support to see if there are any follow-up ideas we could share with you. Just in case this helps: have you tried experimenting with the worker_boot_timeout as mentioned here: https://github.com/puma/puma/issues/2527 because it seems like if increasing that timeout helps, you can narrow down your troubleshooting scope to something you might need to do within the app.
    2 projects | reddit.com/r/rails | 19 Sep 2022
    If this is on Render's free tier, perhaps Render is putting the server to sleep causing this issue?
  • Setup ruby/debug with VSCode
    2 projects | dev.to | 9 Jul 2022
    If it stops at somewhere in your web server (like puma). Hit continue or F5. This will be resolved in the next 1.6.0 release.
  • A note from our sponsor - #<SponsorshipServiceOld:0x00007f160f32b5a0>
    www.saashub.com | 29 Mar 2023
    SaaSHub helps you find the best software and product alternatives Learn more →


Basic Puma repo stats
3 days ago
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives