Mercurial > kallithea
annotate docs/usage/performance.rst @ 8619:d442d8395b75
docs: reduce double nesting level in performance.rst
Rendered text was too far to the right.
author | Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> |
---|---|
date | Sat, 22 Aug 2020 21:22:51 +0200 |
parents | 933d25793167 |
children |
rev | line source |
---|---|
2517
fa88997aa421
Added simple docs for optimizing RhodeCode performance
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
1 .. _performance: |
fa88997aa421
Added simple docs for optimizing RhodeCode performance
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
2 |
fa88997aa421
Added simple docs for optimizing RhodeCode performance
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
3 ================================ |
5413
22a3fa3c4254
docs: cleanup of casing, markup and spacing of headings
Mads Kiilerich <madski@unity3d.com>
parents:
5400
diff
changeset
|
4 Optimizing Kallithea performance |
2517
fa88997aa421
Added simple docs for optimizing RhodeCode performance
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
5 ================================ |
fa88997aa421
Added simple docs for optimizing RhodeCode performance
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
6 |
6374
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
7 When serving a large amount of big repositories, Kallithea can start performing |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
8 slower than expected. Because of the demanding nature of handling large amounts |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
9 of data from version control systems, here are some tips on how to get the best |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
10 performance. |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
11 |
2775
5d12768a0aa1
docs improvements
Marcin Kuzminski <marcin@python-works.com>
parents:
2680
diff
changeset
|
12 |
6374
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
13 Fast storage |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
14 ------------ |
2517
fa88997aa421
Added simple docs for optimizing RhodeCode performance
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
15 |
6374
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
16 Kallithea is often I/O bound, and hence a fast disk (SSD/SAN) and plenty of RAM |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
17 is usually more important than a fast CPU. |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
18 |
5769
6afa528ee30e
db: get rid of vcs_full_cache - it should always be used
Mads Kiilerich <madski@unity3d.com>
parents:
5534
diff
changeset
|
19 |
6374
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
20 Caching |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
21 ------- |
2517
fa88997aa421
Added simple docs for optimizing RhodeCode performance
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
22 |
6374
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
23 Tweak beaker cache settings in the ini file. The actual effect of that is |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
24 questionable. |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
25 |
7960
fb0417c65c64
docs: document official method for beaker cache cleanup
Mads Kiilerich <mads@kiilerich.com>
parents:
7626
diff
changeset
|
26 .. note:: |
fb0417c65c64
docs: document official method for beaker cache cleanup
Mads Kiilerich <mads@kiilerich.com>
parents:
7626
diff
changeset
|
27 |
fb0417c65c64
docs: document official method for beaker cache cleanup
Mads Kiilerich <mads@kiilerich.com>
parents:
7626
diff
changeset
|
28 Beaker has no upper bound on cache size and will never drop any caches. For |
fb0417c65c64
docs: document official method for beaker cache cleanup
Mads Kiilerich <mads@kiilerich.com>
parents:
7626
diff
changeset
|
29 memory cache, the only option is to regularly restart the worker process. |
fb0417c65c64
docs: document official method for beaker cache cleanup
Mads Kiilerich <mads@kiilerich.com>
parents:
7626
diff
changeset
|
30 For file cache, it must be cleaned manually, as described in the `Beaker |
fb0417c65c64
docs: document official method for beaker cache cleanup
Mads Kiilerich <mads@kiilerich.com>
parents:
7626
diff
changeset
|
31 documentation <https://beaker.readthedocs.io/en/latest/sessions.html#removing-expired-old-sessions>`_:: |
fb0417c65c64
docs: document official method for beaker cache cleanup
Mads Kiilerich <mads@kiilerich.com>
parents:
7626
diff
changeset
|
32 |
fb0417c65c64
docs: document official method for beaker cache cleanup
Mads Kiilerich <mads@kiilerich.com>
parents:
7626
diff
changeset
|
33 find data/cache -type f -mtime +30 -print -exec rm {} \; |
fb0417c65c64
docs: document official method for beaker cache cleanup
Mads Kiilerich <mads@kiilerich.com>
parents:
7626
diff
changeset
|
34 |
2517
fa88997aa421
Added simple docs for optimizing RhodeCode performance
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
35 |
6374
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
36 Database |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
37 -------- |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2775
diff
changeset
|
38 |
6374
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
39 SQLite is a good option when having a small load on the system. But due to |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
40 locking issues with SQLite, it is not recommended to use it for larger |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
41 deployments. |
3224
8b8edfc25856
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
2775
diff
changeset
|
42 |
8443
b688a2a1b189
docs: clarify that MariaDB is supported, with slight preference for this more free option
Mads Kiilerich <mads@kiilerich.com>
parents:
7960
diff
changeset
|
43 Switching to PostgreSQL or MariaDB/MySQL will result in an immediate performance |
6374
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
44 increase. A tool like SQLAlchemyGrate_ can be used for migrating to another |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
45 database platform. |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
46 |
2517
fa88997aa421
Added simple docs for optimizing RhodeCode performance
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
47 |
6374
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
48 Horizontal scaling |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
49 ------------------ |
6153
d6942b2b421c
config: clarify that we only recommend and support single threaded operation
Mads Kiilerich <madski@unity3d.com>
parents:
5880
diff
changeset
|
50 |
8611
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
51 Scaling horizontally means running several Kallithea instances (also known as |
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
52 worker processes) and let them share the load. That is essential to serve other |
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
53 users while processing a long-running request from a user. Usually, the |
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
54 bottleneck on a Kallithea server is not CPU but I/O speed - especially network |
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
55 speed. It is thus a good idea to run multiple worker processes on one server. |
6216
49c82acd30b2
scripts: fix X mode on code formatting scripts
Mads Kiilerich <madski@unity3d.com>
parents:
6153
diff
changeset
|
56 |
8611
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
57 .. note:: |
6374
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
58 |
8611
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
59 Kallithea and the embedded Mercurial backend are not thread-safe. Each |
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
60 worker process must thus be single-threaded. |
6153
d6942b2b421c
config: clarify that we only recommend and support single threaded operation
Mads Kiilerich <madski@unity3d.com>
parents:
5880
diff
changeset
|
61 |
8611
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
62 Web servers can usually launch multiple worker processes - for example ``mod_wsgi`` with the |
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
63 ``WSGIDaemonProcess`` ``processes`` parameter or ``uWSGI`` or ``gunicorn`` with |
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
64 their ``workers`` setting. |
6153
d6942b2b421c
config: clarify that we only recommend and support single threaded operation
Mads Kiilerich <madski@unity3d.com>
parents:
5880
diff
changeset
|
65 |
8611
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
66 Kallithea can also be scaled horizontally across multiple machines. |
6374
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
67 In order to scale horizontally on multiple machines, you need to do the |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
68 following: |
3413
d79f3505549e
whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents:
3390
diff
changeset
|
69 |
8619
d442d8395b75
docs: reduce double nesting level in performance.rst
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
8611
diff
changeset
|
70 - Each instance's ``data`` storage needs to be configured to be stored on a |
d442d8395b75
docs: reduce double nesting level in performance.rst
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
8611
diff
changeset
|
71 shared disk storage, preferably together with repositories. This ``data`` |
d442d8395b75
docs: reduce double nesting level in performance.rst
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
8611
diff
changeset
|
72 dir contains template caches, sessions, whoosh index and is used for |
d442d8395b75
docs: reduce double nesting level in performance.rst
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
8611
diff
changeset
|
73 task locking (so it is safe across multiple instances). Set the |
d442d8395b75
docs: reduce double nesting level in performance.rst
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
8611
diff
changeset
|
74 ``cache_dir``, ``index_dir``, ``beaker.cache.data_dir``, ``beaker.cache.lock_dir`` |
d442d8395b75
docs: reduce double nesting level in performance.rst
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
8611
diff
changeset
|
75 variables in each .ini file to a shared location across Kallithea instances |
d442d8395b75
docs: reduce double nesting level in performance.rst
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
8611
diff
changeset
|
76 - If using several Celery instances, |
d442d8395b75
docs: reduce double nesting level in performance.rst
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
8611
diff
changeset
|
77 the message broker should be common to all of them (e.g., one |
d442d8395b75
docs: reduce double nesting level in performance.rst
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
8611
diff
changeset
|
78 shared RabbitMQ server) |
d442d8395b75
docs: reduce double nesting level in performance.rst
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
8611
diff
changeset
|
79 - Load balance using round robin or IP hash, recommended is writing LB rules |
d442d8395b75
docs: reduce double nesting level in performance.rst
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
8611
diff
changeset
|
80 that will separate regular user traffic from automated processes like CI |
d442d8395b75
docs: reduce double nesting level in performance.rst
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents:
8611
diff
changeset
|
81 servers or build bots. |
5060
778f7ae3b6eb
docs: add a reference to https://github.com/shazow/sqlalchemygrate for migration from sqlite to other dbs
Anatoly Bubenkov <bubenkoff@gmail.com>
parents:
4955
diff
changeset
|
82 |
6374
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
83 |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
84 Serve static files directly from the web server |
d02c715e2805
docs: tweak formatting of the performance page - replace the odd numbered list with sections
Mads Kiilerich <mads@kiilerich.com>
parents:
6216
diff
changeset
|
85 ----------------------------------------------- |
5880
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
86 |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
87 With the default ``static_files`` ini setting, the Kallithea WSGI application |
6375
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
88 will take care of serving the static files from ``kallithea/public/`` at the |
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
89 root of the application URL. |
5880
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
90 |
6375
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
91 The actual serving of the static files is very fast and unlikely to be a |
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
92 problem in a Kallithea setup - the responses generated by Kallithea from |
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
93 database and repository content will take significantly more time and |
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
94 resources. |
5880
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
95 |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
96 To serve static files from the web server, use something like this Apache config |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
97 snippet:: |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
98 |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
99 Alias /images/ /srv/kallithea/kallithea/kallithea/public/images/ |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
100 Alias /css/ /srv/kallithea/kallithea/kallithea/public/css/ |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
101 Alias /js/ /srv/kallithea/kallithea/kallithea/public/js/ |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
102 Alias /codemirror/ /srv/kallithea/kallithea/kallithea/public/codemirror/ |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
103 Alias /fontello/ /srv/kallithea/kallithea/kallithea/public/fontello/ |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
104 |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
105 Then disable serving of static files in the ``.ini`` ``app:main`` section:: |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
106 |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
107 static_files = false |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
108 |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
109 If using Kallithea installed as a package, you should be able to find the files |
6375
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
110 under ``site-packages/kallithea``, either in your Python installation or in your |
5880
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
111 virtualenv. When upgrading, make sure to update the web server configuration |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
112 too if necessary. |
61954577a0df
docs: mention use of static_files, it's setup and implications
Mads Kiilerich <madski@unity3d.com>
parents:
5769
diff
changeset
|
113 |
6375
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
114 It might also be possible to improve performance by configuring the web server |
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
115 to compress responses (served from static files or generated by Kallithea) when |
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
116 serving them. That might also imply buffering of responses - that is more |
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
117 likely to be a problem; large responses (clones or pulls) will have to be fully |
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
118 processed and spooled to disk or memory before the client will see any |
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
119 response. See the documentation for your web server. |
692dddf298e2
middleware: drop gzipper middleware
Mads Kiilerich <mads@kiilerich.com>
parents:
6374
diff
changeset
|
120 |
5433
fbbe80e3322b
docs: consistent spacing around headings
Mads Kiilerich <madski@unity3d.com>
parents:
5425
diff
changeset
|
121 |
5060
778f7ae3b6eb
docs: add a reference to https://github.com/shazow/sqlalchemygrate for migration from sqlite to other dbs
Anatoly Bubenkov <bubenkoff@gmail.com>
parents:
4955
diff
changeset
|
122 .. _SQLAlchemyGrate: https://github.com/shazow/sqlalchemygrate |
8611
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
123 .. _mod_wsgi: https://modwsgi.readthedocs.io/ |
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
124 .. _uWSGI: https://uwsgi-docs.readthedocs.io/ |
933d25793167
docs: clarify section on horizontal scaling - multi threading is not supported at all
Mads Kiilerich <mads@kiilerich.com>
parents:
8443
diff
changeset
|
125 .. _gunicorn: http://pypi.python.org/pypi/gunicorn |