Home Benchmarks Real World Use / Testimonials Documentation FAQ / Support Upcoming Release Features Mongrel Download Changelog
Swiftcore Swiftiply Overview
Bug fixes and speed increase coming

I have been hacking on outstanding bugs and missing features during RubyConf. The end result is that with keepalive support, on my laptop, the static support can now move 15000 files of 1k in size per second. This is faster than nginx.

Upgrade to EventMachine 0.12!

Swiftiply users should upgrade their EventMachine installation to 0.12. This latest version of EventMachine fixes a bug which can strike Swiftiply installations using epoll, and it offers higher performance over earlier versions. It appears to be a smart upgrade.

A patch for the Mongrel versions > 1.0.1 has been released as Swiftiply 0.6.1.1. This version should also work fine with Mongrel 1.0.1. Files are in the Downloads section, and should be showing up on Rubyforge soon. Please let me know if there are issues.

Scaling your web applications should be easy. Start small, then when you need more capacity, just add it. Another process. Another machine. More capacity, instantly. Without additional configuration or software restarts.

That is what you get with Swiftiply.

Swiftiply is a backend agnostic clustering proxy for web applications that is specifically designed to support HTTP traffic from web frameworks. Unlike Pen (http://siag.nu/pen/), Swiftiply is not intended as a general purpose load balancer for tcp protocols and unlike HAProxy (http://haproxy.1wt.eu/), it is not a highly configurable general purpose proxy overflowing with features.

What it is, though, is a very fast, narrowly targetted clustering proxy. In back to back comparisons of Swiftiply to HAProxy, Swiftiply reliably outperforms HAProxy (tested using IOWA, Rails, and Ramaze backend processes) and, depending on your web framework, you may not even need to put a traditional web server into your architecture at all.

Swiftiply depends on EventMachine (http://rubyforge.org/projects/eventmachine) to provide the framework for the network communications.