mod_deflate против Django GZipMiddleware, какой использовать для развертывания? - PullRequest
9 голосов
/ 13 июля 2009

Мы разворачиваем приложения Django с Apache 2.2 + mod_wsgi. Должны ли мы включить mod_deflate в Apache или использовать GZipMiddleware от Django? Какой вариант работает лучше?

Ответы [ 4 ]

6 голосов
/ 13 июля 2009

Вы, вероятно, должны проверить, чтобы знать наверняка, но если бы я догадался, mod_deflate будет лучше для запросов, которые полностью обходят Django (например, сжатые статические ресурсы, которые должны быть развернуты отдельно, т.е. медиа).

Для вещей, которые уже сгенерированы ответами Django, это, вероятно, бросок - в любом случае это был бы собственный код, выполняющий архивирование.

2 голосов
/ 20 января 2015

mod_deflate - лучший выбор, поскольку он позволяет вам выбирать, какие типы содержимого сжимаются (по умолчанию html, css и js).

GZipMiddleware очень наивен и будет пытаться сжать что-нибудь и просто проверить, меньше ли результат, чем исходный ответ. Если вы предоставляете изображения таким образом, вы будете снижать производительность для каждого запроса с 0 преимуществами.

2 голосов
/ 13 июля 2009

Это зависит. Если вы включите его в Apache, то он также будет использоваться для статического контента (например, CSS, Javascript, изображения); но некоторый статический контент (например, JPG, GIF, SWF) в любом случае довольно хорошо сжат.

1 голос
/ 25 сентября 2009

Я бы определенно пошел с mod_deflate, предполагая, что у вас есть статические файлы css и js, которые apache обслуживает напрямую и которые также могут быть сжаты.

...