diff --git a/docs/usage/performance.rst b/docs/usage/performance.rst --- a/docs/usage/performance.rst +++ b/docs/usage/performance.rst @@ -81,14 +81,13 @@ Serve static files directly from the web ----------------------------------------------- With the default ``static_files`` ini setting, the Kallithea WSGI application -will take care of serving the static files found in ``kallithea/public`` from -the root of the application URL. While doing that, it will currently also -apply buffering and compression of all the responses it is serving. +will take care of serving the static files from ``kallithea/public/`` at the +root of the application URL. -The actual serving of the static files is unlikely to be a problem in a -Kallithea setup. The buffering of responses is more likely to be a problem; -large responses (clones or pulls) will have to be fully processed and spooled -to disk or memory before the client will see any response. +The actual serving of the static files is very fast and unlikely to be a +problem in a Kallithea setup - the responses generated by Kallithea from +database and repository content will take significantly more time and +resources. To serve static files from the web server, use something like this Apache config snippet:: @@ -104,9 +103,16 @@ Then disable serving of static files in static_files = false If using Kallithea installed as a package, you should be able to find the files -under site-packages/kallithea, either in your Python installation or in your +under ``site-packages/kallithea``, either in your Python installation or in your virtualenv. When upgrading, make sure to update the web server configuration too if necessary. +It might also be possible to improve performance by configuring the web server +to compress responses (served from static files or generated by Kallithea) when +serving them. That might also imply buffering of responses - that is more +likely to be a problem; large responses (clones or pulls) will have to be fully +processed and spooled to disk or memory before the client will see any +response. See the documentation for your web server. + .. _SQLAlchemyGrate: https://github.com/shazow/sqlalchemygrate