summary refs log tree commit homepage
path: root/TUNING
diff options
authorEric Wong <>2009-10-05 02:44:18 -0700
committerEric Wong <>2009-10-05 02:47:01 -0700
commit0be3542b4e16972e0ec5ff354625f45ea8241883 (patch)
treec84ee04f6f653d9c698fd06cdbf5b9f549595e03 /TUNING
parentb5a0a2cce2c10ade80c1bc9a54d73194bb520776 (diff)
Diffstat (limited to 'TUNING')
1 files changed, 31 insertions, 0 deletions
diff --git a/TUNING b/TUNING
new file mode 100644
index 0000000..9f5f58d
--- /dev/null
+++ b/TUNING
@@ -0,0 +1,31 @@
+= 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
+== \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.