diff docs/usage/performance.rst @ 2517:fa88997aa421 beta

Added simple docs for optimizing RhodeCode performance
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 30 Jun 2012 22:48:14 +0200
parents
children 3b179f1ac3a2
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/usage/performance.rst	Sat Jun 30 22:48:14 2012 +0200
@@ -0,0 +1,38 @@
+.. _performance:
+
+================================
+Optimizing RhodeCode Performance
+================================
+
+
+Follow these few steps to improve performance of RhodeCode system.
+
+
+1. Increase cache::
+
+    in the .ini file    
+    beaker.cache.sql_cache_long.expire=3600 <-- set this to higher number
+
+    This option affects the cache expiration time for main page. Having
+    few hundreds of repositories on main page can sometimes make the system
+    to behave slow when cache expires for all of them. Increasing `expire`
+    option to day (86400) or a week (604800) will improve general response
+    times for the main page
+
+2. Switch from sqlite to postgres or mysql
+    
+    sqlite is a good option when having small load on the system. But due to
+    locking issues with sqlite, it's not recommended to use it for larger
+    setup. Switching to mysql or postgres will result in a immediate
+    performance increase.
+    
+3. Scale RhodeCode horizontally
+    
+
+    - running two or more instances on the same server can speed up things a lot
+    - load balance using round robin or ip hash
+    - you need to handle consistent user session storage by switching to 
+      db sessions, client side sessions or sharing session data folder across 
+      instances. See http://beaker.readthedocs.org/ docs for details.
+    - remember that each instance needs it's own .ini file and unique
+      `instance_id` set in them
\ No newline at end of file