A high-performance HTTP server for Ruby with Rack compatibility, GraphQL support, and exceptional speed.
Agoo is a high-performance HTTP server built for Ruby applications that delivers exceptional speed and low latency. It serves as a drop-in replacement for traditional Ruby web servers while providing advanced features like GraphQL support, WebSockets, and SSE. The project solves the performance bottlenecks often encountered with Ruby web applications, enabling them to handle hundreds of thousands of requests per second.
Ruby developers building high-performance web applications, APIs, or real-time services who need faster request handling than traditional servers like Puma or WEBrick provide. It's particularly valuable for teams using Rails, Hanami, or other Rack-compatible frameworks.
Developers choose Agoo for its unmatched performance in the Ruby ecosystem—benchmarks show it can be 85x faster than Sinatra and 1000x faster than Rails. It maintains full Rack compatibility while adding built-in GraphQL, WebSocket support, and optimized static asset delivery, all without requiring major application changes.
A High Performance HTTP Server for Ruby
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Benchmarks show it handles over 100,000 requests per second for simple Ruby handlers and serves static files at hundreds of thousands of fetches per second, making it significantly faster than Puma or Rails.
Fully compatible with Rack, allowing drop-in use with Rails, Sinatra, and Hanami without code changes, as demonstrated in the Rails setup example.
Includes a GraphQL server with subscription support and a simple API, reducing dependency on external gems, as shown in the GraphQL example code.
Native support for WebSockets and Server-Sent Events enables easy implementation of real-time features without additional setup.
Can serve Rails static assets up to 8000 times faster than default servers, drastically improving frontend load times per the README benchmarks.
Agoo is explicitly not available on Windows, limiting its use for teams with Windows-based development or deployment workflows.
Multi-core clustering only works for stateless applications, which may not suit stateful web apps or those relying on shared memory across workers.
As a niche, performance-focused server, it has fewer plugins, integrations, and community resources compared to mainstream options like Puma.
While examples are provided, the documentation is less comprehensive than for established servers, potentially increasing setup time for complex use cases like GraphQL subscriptions.