= Tuning \Rainbows! Most of the {tuning notes}[http://unicorn.bogomips.org/TUNING.html] 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. == \Rainbows! configuration * Don't set +worker_connections+ too high. It is often better to start denying requests and only serve the clients you can than to be completely bogged down and be unusable for everybody. * Increase +worker_processes+ if you have resources (RAM/DB connections) available. Additional worker processes can better utilize SMP, are more robust against crashes and are more likely to be fairly scheduled by the kernel. == 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.