DEPLOY FAQ HACKING LICENSE NEWS README SIGNALS Sandbox Static_Files Summary TUNING Test_Suite rainbows_1 vs_Unicorn
Rainbows ActorSpawn AppPool Base Configurator Coolio CoolioThreadPool CoolioThreadSpawn DevFdResponse Epoll EventMachine FiberPool FiberSpawn MaxBody NeverBlock Rev RevFiberSpawn RevThreadPool RevThreadSpawn Revactor Sendfile ServerToken StreamResponseEpoll ThreadPool ThreadSpawn ThreadTimeout WriterThreadPool WriterThreadSpawn XEpoll XEpollThreadPool XEpollThreadSpawn

Tuning Rainbows!

Most of the tuning notes apply to Rainbows! as well. Rainbows! is not particularly optimized at the moment and is designed for applications that spend large amounts of the time waiting on network activity. Thus memory usage and memory bandwidth for keeping connections open are often limiting factors as well.

As of October 2009, absolutely ZERO work has been done for performance validation and tuning. Furthermore, Rainbows! is NOT expected to do well on traditional benchmarks. Remember that Rainbows! is only designed for applications that sleep and/or trickle network traffic. In the future, may do well in traditional benchmarks as a side effect, but that will never be the primary goal of the project.

Rainbows! configuration

nginx configuration

If you intend to use nginx as a reverse-proxy in front of Rainbows! to handle Comet applications, make sure you disable proxy response buffering in nginx:

proxy_buffering off;

This can be disabled on a per-backend basis in nginx, so under no circumstances should you disable response buffering to Unicorn backends, only to Rainbows! backends.

mail archives:
public: / private: