---
title: "Benchmarking common Ruby and Rack servers"
publication: "Ruby Weekly"
issue: 753
published_at: "2025-06-05"
canonical_url: "https://rubyweekly.com/issues/753"
---

Plus Hanami needs your help, quite a lot of AI related stuff, and a SaaS team shares its production Ruby stack. |        

#​753 — June 5, 2025 

[Read on the Web](https://rubyweekly.com/issues/753)  

Together with [![FastRuby.io\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_467,h_106/e_make_transparent/co_white,e_outline:14/y65nyff19ylf5udphsq4.png)](https://go.fastruby.io/73l)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nh3mippgm37zfkxhr5yq.jpg)](https://railsatscale.com/2025-06-03-implementing-embedded-typeddata-objects/)  

[Implementing Embedded TypedData Objects](https://railsatscale.com/2025-06-03-implementing-embedded-typeddata-objects/) — A look under the hood at TypedData, an implementation detail of Ruby commonly used internally and by native gems to store a native pointer to arbitrary data (Peter has [written more about TypedData here](https://blog.peterzhu.ca/ruby-c-ext-part-7/)). The news here is about a new _embedded_ TypedData approach where the data is stored alongside the object rather than elsewhere, leading to speedups across numerous areas of Ruby. 

Peter Zhu   

[Our Production Ruby and Rails Stack](https://attendlist.com/blog/production-rails-stack) — The creators of a SaaS product give a nice, clear outline of all the moving parts that keeps their show on the road. Good choices overall. 

AttendList   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/c91f5959.png)](https://go.fastruby.io/73l) 

[🚀 Stuck on Rails 4.2? Need to Upgrade on a Budget?](https://go.fastruby.io/73l) — The team behind [RailsBump.org](https://railsbump.org/) and `next_rails` can help. Let our AI-powered, battle-tested process get you to Rails 8, faster. Fixed-cost, monthly maintenance services are ideal for your one-person engineering team. 

🌳 Bonsai by FastRuby.io sponsor   

📊 [A Benchmark Suite of Popular Ruby and Rack Servers](https://itsi.fyi/benchmarks/) — The developer of the [Itsi](https://itsi.fyi/) Rack server has put together a benchmark ([source here](https://github.com/wouterken/itsi-server-benchmarks)) to put several Ruby Rack servers, gRPC servers, static file servers, and reverse proxies through their paces. 

Wouter Coppieters   

**IN BRIEF:** 

- [The Hanami project (and related Dry and ROM projects) are looking for your help](https://hanamirb.org/blog/2025/06/03/become-a-hanami-dry-and-rom-patron/) by way of a new patron-based sponsorship drive.
- The `/r/ruby` subreddit is discussing [what new features people would like to see in Ruby.](https://www.reddit.com/r/ruby/comments/1kyqhg5/what_features_would_you_like_to_see_in_ruby_that/) Better pattern matching comes up numerous times.
- [The annual Stack Overflow Developer Survey is back](https://stackoverflow.blog/2025/05/29/not-just-a-vibe-the-stack-overflow-developer-survey-is-really-here/) for a fifteenth year. Worth taking if you want to increase Ruby's representation in the results.
- 🇺🇸 [SF Ruby 2025](https://sfruby.com/) is a Ruby conference coming to San Francisco this November 19-20. [The CFP is live](https://cfp.sfruby.com/) and tickets go on sale in a month.
- A malicious actor has [published two gems posing as real Fastlane plugins](https://socket.dev/blog/malicious-ruby-gems-exfiltrate-telegram-tokens-and-messages-following-vietnam-ban) to steal Telegram tokens used by Ruby code.
- JetBrains gives us [an update on what's next for RubyMine](https://blog.jetbrains.com/ruby/2025/06/what-s-next-for-rubymine/), their commercial Ruby IDE, and also shows off [how their new AI agent Junie can work with RubyMine.](https://blog.jetbrains.com/ruby/2025/06/junie-and-rubymine-your-winning-combo/)   

[Internal Product Analytics with Ahoy](https://railsnotes.xyz/blog/ahoy-product-analytics) — [Ahoy](https://github.com/ankane/ahoy) helps you understand which features your users are using so you can evolve your app in the right direction. Pair Ahoy with [Blazer](https://github.com/ankane/blazer) to get a quick dashboard of product analytics. 

Harrison Broadbent   

▶[The Frustrations of React and the Power of Turbo](https://www.remoteruby.com/2260490/episodes/17191168-the-frustrations-of-react-and-the-power-of-turbo) — Discussion of the real-world frustrations of using React compared to the lighter, more flexible Hotwire approach. 

Remote Ruby Podcast podcast   

[The First Newsletter Dedicated to Product Engineers](https://go.posthog.com/rb-week-jun5) — Learn strategies and tactics you need to succeed as a product engineer (and build products users love). 

PostHog sponsor   

📄 [Implementing Semantic Search with Sequel and pgvector](https://www.ombulabs.com/blog/semantic-search.html) Amanda Bizzinotto 

📺 [Parsing and Generating SQLite's SQL Dialect with Ruby](https://www.youtube.com/watch?v=VaSpF9JmbZo) Stephen Margheim 

📺 [How to Deploy a Rails App with Kamal](https://www.youtube.com/watch?v=9nRY0p2br28) – An 8-minute introduction. Olga Kuvardina (JetBrains)  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/wk4sofwvqwxqeet7kthu.jpg)](https://mariochavez.io/desarrollo/rails/ai-tools/development-workflow/2025/06/03/rails-mcp-server-enhanced-documentation-access/)  

[Rails MCP Server: Now with Enhanced Documentation Access](https://mariochavez.io/desarrollo/rails/ai-tools/development-workflow/2025/06/03/rails-mcp-server-enhanced-documentation-access/) — [Rails MCP Server](https://github.com/maquina-app/rails-mcp-server) provides a way for AI tools (e.g. Claude Desktop) and agents to interact with Rails apps. The latest version focuses on improving access to documentation, meaning said AI agents can now be fed official Rails guides and other documentation to produce better results without relying on their own outdated training data. 

Mario Alberto Chávez   

📄 [MuPDF Gem: A Ruby Library for Using MuPDF](https://github.com/ksylvest/mupdf) — [MuPDF](https://mupdf.com/) is a C library for parsing and rendering PDFs and similar documents. This library lets you use it from Ruby for extracting metadata and rendering PDF pages to images. 

Kevin Sylvestre   

[🧠 Build Intelligent Applications with Rails](https://sinaptia.dev/posts/building-intelligent-applications-with-rails) — Learn about the strengths of Ruby and Rails in the AI era and why we choose them for AI applications development. 

SINAPTIA sponsor   

[RubyLLM 1.3.0: Contexts, Local Models, and the End of Manual Model Tracking](https://paolino.me/rubyllm-1-3/) — There’s definitely an AI theme running through this issue, but this is a neat release of a rapidly growing library to work with LLMs from Ruby that now lets you do things as straightforward as `chat.ask "Describe this meeting", with: "meeting.wav"` – you can now work with local [Ollama](https://ollama.com/)-hosted models too. 

Carmine Paolino   

- 🤖 [Fast MCP 1.5](https://github.com/yjacquin/fast-mcp/releases/tag/v1.5.0) – A Ruby implementation of the Model Context Protocol for building tools in Ruby which AI agents can then use.
- [ruby-duckdb 1.3.0](https://github.com/suketa/ruby-duckdb) – Ruby bindings for the [DuckDB](https://duckdb.org/) database system.
- [ActiveEnum 1.3](https://github.com/adzap/active_enum) – Define enum classes and use them to enumerate ActiveRecord attributes.
- 🤖 [OpenAI Ruby 0.6](https://github.com/openai/openai-ruby) – Official Ruby SDK for the OpenAI API. Adds new realtime and audio models.
- [Rabarber 5.1](https://github.com/brownboxdev/rabarber) – Role-based authorization library for Rails.
- [parallel_tests 5.3](https://github.com/grosser/parallel_tests) – More cores == faster testing.
- [Rake 13.3](https://github.com/ruby/rake/releases/tag/v13.3.0) – Ruby's `make`-like build utility.  

📢 Elsewhere  

A quick roundup of some other interesting updates or useful resources in the broader developer landscape: 

- Built by the web platform team at Google, [WebStatus.dev](https://webstatus.dev/) is a handy dashboard of modern browser and web platform features and their support across numerous browsers.
- [Bootstrapping HTTP/1.1, HTTP/2, and HTTP/3](https://www.netmeister.org/blog/http-123.html) is a practical tour through what distinguishes the different versions of HTTP under the hood and how requests can (or can't) be promoted up the versions.
- [php-node](https://blog.platformatic.dev/seamlessly-blend-php-with-nodejs) is a new way to bring PHP and Node.js together – either potentially very useful or nightmare fuel, depending on your tastes.
- [DigitalOcean now has an official MCP server](https://www.digitalocean.com/community/tutorials/control-apps-using-mcp-server) which lets you manage DO hosted apps from AI agents / Claude, etc.
- Justin Searls argues that [AI agents make for poor pair programmers.](https://justin.searls.co/posts/why-agents-are-bad-pair-programmers/)
- Sean Gillespie ponders [the ingredients of a productive monorepo.](https://blog.swgillespie.me/posts/monorepo-ingredients/)
- [SQLite 3.50.0](https://sqlite.org/releaselog/3_50_0.html) has just been released.
- Try this: `curl parrot.live`         

Curated by [Peter Cooper](https://twitter.com/cooperx86) and [Glenn Goodrich](https://twitter.com/ruprict).
Published by [Cooperpress](https://cooperpress.com/). 

[Change your email](https://rubyweekly.com/edit_subscription/*|UID|*) or [Stop getting this newsletter.](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
