Unlike other Ruby Webservers, Puma was built for speed and parallelism. Puma is a small library that provides a very fast and concurrent HTTP 1.1 server for Ruby web applications. It is designed for running Rack apps only. What makes Puma so fast is the careful use of a Ragel extension to provide fast, accurate HTTP 1.1 protocol parsing. This makes the server scream without too many portability issues. If you are using Bundler, just add Puma to your project's Gemfile. Once you've installed your bundle, start Puma. If you are not using Bundler, you can install Puma directly from the command line. On MRI, there is a Global VM Lock (GVL) that ensures only one thread can run Ruby code at a time. But if you're doing a lot of blocking IO (such as HTTP calls to external APIs like Twitter), Puma still improves MRI's throughput by allowing IO waiting to be done in parallel.

Features

  • Puma also works well with Ruby (MRI) and JRuby
  • Simple, fast, multi-threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications
  • Puma processes requests using a C-optimized Ragel extension
  • Concurrent Ruby implementations (JRuby, Rubinius) will use all available CPU cores
  • Each request is served in a separate thread
  • Puma will install/compile with support for ssl sockets, assuming OpenSSL development files are installed on the system

Project Samples

Project Activity

See All Activity >

Categories

Web Services

License

BSD License

Follow Puma

Puma Web Site

Other Useful Business Software
Already Paying for an RMM? Get 50% Off Splashtop AEM Icon
Already Paying for an RMM? Get 50% Off Splashtop AEM

Switch to Splashtop AEM and save up to 50% in your first year

Automated OS and third-party patching for Windows and macOS, CVE prioritization with AI patch summaries, and built-in remote control that also supports Linux. Qualifying organizations switching from another RMM get up to 50% off year one.
Get Started
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Puma!

Additional Project Details

Operating Systems

Mac, Windows

Programming Language

Ruby

Related Categories

Ruby Web Services Software

Registered

2021-08-19