awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
puma avatar

puma/puma

0
View on GitHub↗
puma.io↗

Puma

Puma is a concurrent HTTP server for Ruby applications that implements the Rack interface. It operates as a clustered web server, using a combination of worker processes and threads to handle multiple simultaneous web connections via TCP ports or UNIX domain sockets.

The server features a master-worker process model that utilizes multiple CPU cores and employs copy-on-write preloading to reduce memory usage. It supports zero-downtime restarts through socket-handover capabilities, allowing application updates without dropping pending network requests.

The project includes a token-authenticated control interface for production administration, dynamic thread pool scaling to manage request volume, and a plugin architecture for exporting server metrics to external monitoring tools. It also provides built-in support for SSL/TLS connection security and server lifecycle hooks for executing custom logic during boot and shutdown.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Master-Worker Process Models - Implements a clustered master-worker process model to utilize multiple CPU cores and isolate request handling.
  • Rack Application Servers - Provides a concurrent HTTP server designed specifically to host Ruby web applications adhering to the Rack interface.
  • Network Socket Bindings - Supports binding the server to either TCP ports or UNIX domain sockets for incoming network traffic.
  • Thread Pools - Manages a dynamic pool of worker threads that scales based on real-time request volume to optimize resource usage.
  • Multi-Threaded Request Handling - Scales web traffic by distributing network IO and request handling across multiple CPU cores using threads and processes.
  • Concurrent Request Pooling - Implements parallel HTTP request processing using a capped pool of worker threads and processes to maximize throughput.
  • HTTP Servers - Provides a concurrent HTTP server engine designed to handle and route web traffic using a combination of processes and threads.
  • Application Servers - Functions as a standard-compliant application server that interfaces between Ruby web frameworks and the network via Rack.
  • Pre-Forking Servers - Operates as a pre-forking server that utilizes a master-worker process model to handle concurrent HTTP requests.
  • Web Server Hosting - Serves as a high-performance infrastructure server for hosting Ruby web applications using the Rack protocol.
  • Restart Automation - Enables server restarts without dropping pending requests through a combination of socket handover and process management.
  • Zero-Downtime Upgrades - Implements zero-downtime upgrades by handing over sockets to new processes without interrupting active network connections.
  • Zero-Downtime Socket Handovers - Supports zero-downtime restarts by transferring active network sockets from an old process to a new one.
  • Copy-on-Write Memory Optimizations - Reduces total memory footprint by preloading application code into the master process before forking workers.
  • Process Preloaders - Optimizes memory by loading application code into a master process before forking workers via copy-on-write preloading.
  • Dynamic Scaling - Manages a thread pool that automatically scales between minimum and maximum limits based on traffic volume.
  • TLS/SSL Configurations - Provides built-in support for SSL/TLS encrypted traffic with customizable cipher suites and certificates.
  • Administrative Control Interfaces - Ships a token-authenticated control server and CLI for production administration and status querying.
  • Web Servers - Modern, concurrent web server for Ruby.
7,878 stars·1,474 forks·Ruby·bsd-3-clause·15 views

Star history

Star history chart for puma/pumaStar history chart for puma/puma

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Puma

These projects share indexed features with Puma. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • benoitc/gunicornbenoitc avatar

    benoitc/gunicorn

    10,443View on GitHub↗

    Gunicorn is a production-grade WSGI HTTP server designed for deploying Python web applications. It functions as a process manager that utilizes a pre-fork worker model, where a master process initializes the application and spawns multiple child processes to handle incoming requests in parallel. This architecture ensures high performance and stability by isolating application execution within persistent worker processes. The server distinguishes itself through its flexible concurrency models and robust process lifecycle management. It supports interchangeable worker types, including synchrono

    Pythonhttphttp-serverpython
    View on GitHub↗10,443
  • squeaky-pl/japrontosqueaky-pl avatar

    squeaky-pl/japronto

    8,540View on GitHub↗

    Japronto is an asynchronous web framework and Python HTTP server toolkit. It functions as a multi-worker HTTP server and request router, utilizing non-blocking asynchronous handlers to manage high concurrency and throughput. The project implements a master-multiworker forking model to distribute network traffic across multiple CPU cores. It incorporates a fast event loop and a specialized C-extension for high-speed HTTP request parsing, while supporting request pipelining over single TCP connections. The framework covers a broad range of request handling capabilities, including URL pattern r

    C
    View on GitHub↗8,540
  • drogonframework/drogondrogonframework avatar

    drogonframework/drogon

    13,568View on GitHub↗

    Drogon is a high-performance, cross-platform C++ framework designed for building asynchronous web services and server-side applications. It functions as a multi-threaded, event-driven server engine that manages concurrent network traffic and WebSocket connections with minimal latency. By leveraging non-blocking input/output and native code compilation, the framework provides a foundation for scalable applications that operate efficiently across diverse hardware architectures. The framework distinguishes itself through its compile-time template rendering, which transforms dynamic HTML views in

    C++asynchronous-programmingdrogonhttp
    View on GitHub↗13,568
  • nanohttpd/nanohttpdNanoHttpd avatar

    NanoHttpd/nanohttpd

    7,215View on GitHub↗

    NanoHTTPD is a lightweight, embeddable HTTP server for Java applications. It allows developers to integrate web server capabilities directly into a Java project to handle incoming requests without requiring a standalone installation. The project provides specialized implementations for an HTTPS web server, a WebSocket server for bidirectional real-time communication, and a static file web server. These capabilities enable secure network traffic through SSL certificates and the delivery of local files with automatic MIME type detection. The server includes systems for request routing and hand

    Java
    View on GitHub↗7,215
Compare all 30 related projects→

Frequently asked questions

What does puma/puma do?

Puma is a concurrent HTTP server for Ruby applications that implements the Rack interface. It operates as a clustered web server, using a combination of worker processes and threads to handle multiple simultaneous web connections via TCP ports or UNIX domain sockets.

What are the main features of puma/puma?

The main features of puma/puma are: Master-Worker Process Models, Rack Application Servers, Network Socket Bindings, Thread Pools, Multi-Threaded Request Handling, Concurrent Request Pooling, HTTP Servers, Application Servers.

Which projects share features with puma/puma?

Projects with overlapping indexed features include: benoitc/gunicorn — Gunicorn is a production-grade WSGI HTTP server designed for deploying Python web applications. It functions as a… squeaky-pl/japronto — Japronto is an asynchronous web framework and Python HTTP server toolkit. It functions as a multi-worker HTTP server… drogonframework/drogon — Drogon is a high-performance, cross-platform C++ framework designed for building asynchronous web services and… nanohttpd/nanohttpd — NanoHTTPD is a lightweight, embeddable HTTP server for Java applications. It allows developers to integrate web server… sanic-org/sanic — Sanic is an asynchronous Python web framework designed for building high-performance APIs and services. It operates as… prefecthq/fastmcp — FastMCP is a Python framework designed for building servers that expose functions, resources, and prompts to AI models…