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 diff --git a/kallithea/config/middleware.py b/kallithea/config/middleware.py --- a/kallithea/config/middleware.py +++ b/kallithea/config/middleware.py @@ -20,7 +20,6 @@ from paste.cascade import Cascade from paste.registry import RegistryManager from paste.urlparser import StaticURLParser from paste.deploy.converters import asbool -from paste.gzipper import make_gzip_middleware from pylons.middleware import ErrorHandler, StatusCodeRedirect from pylons.wsgiapp import PylonsApp @@ -105,7 +104,6 @@ def make_app(global_conf, full_stack=Tru # Serve static files static_app = StaticURLParser(config['pylons.paths']['static_files']) app = Cascade([static_app, app]) - app = make_gzip_middleware(app, global_conf, compress_level=1) app.config = config