comparison 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
comparison
equal deleted inserted replaced
2516:8ee72933405f 2517:fa88997aa421
1 .. _performance:
2
3 ================================
4 Optimizing RhodeCode Performance
5 ================================
6
7
8 Follow these few steps to improve performance of RhodeCode system.
9
10
11 1. Increase cache::
12
13 in the .ini file
14 beaker.cache.sql_cache_long.expire=3600 <-- set this to higher number
15
16 This option affects the cache expiration time for main page. Having
17 few hundreds of repositories on main page can sometimes make the system
18 to behave slow when cache expires for all of them. Increasing `expire`
19 option to day (86400) or a week (604800) will improve general response
20 times for the main page
21
22 2. Switch from sqlite to postgres or mysql
23
24 sqlite is a good option when having small load on the system. But due to
25 locking issues with sqlite, it's not recommended to use it for larger
26 setup. Switching to mysql or postgres will result in a immediate
27 performance increase.
28
29 3. Scale RhodeCode horizontally
30
31
32 - running two or more instances on the same server can speed up things a lot
33 - load balance using round robin or ip hash
34 - you need to handle consistent user session storage by switching to
35 db sessions, client side sessions or sharing session data folder across
36 instances. See http://beaker.readthedocs.org/ docs for details.
37 - remember that each instance needs it's own .ini file and unique
38 `instance_id` set in them