mod_deflate vs Django GZipMiddleware, which one to

2019-06-16 06:50发布

We're deploying Django apps with Apache 2.2 + mod_wsgi. Should we enable mod_deflate in Apache or use Django's GZipMiddleware? Which option performs better?

4条回答
看我几分像从前
2楼-- · 2019-06-16 07:16

You should probably test to know for sure, but if I were to guess, mod_deflate would be better for requests that totally bypass Django completely (like zipped up static resources that should be deployed separately i.e. media).

For things that are already generated by Django responses, it's probably a toss-up -- in either case it would be native code doing the zipping.

查看更多
家丑人穷心不美
3楼-- · 2019-06-16 07:17

It depends. If you enable it in Apache, then it will also be used for static content (e.g. CSS, Javascript, images); but some static content (like JPG, GIF, SWF) is pretty well compressed anyway.

查看更多
Fickle 薄情
4楼-- · 2019-06-16 07:18

mod_deflate is a better choice because it allows you to choose which content types are compressed (defaults to html, css and js).

GZipMiddleware is very naive and will try to compress anything and just check if the result is smaller than the original response. If you're serving images that way you will take the performance hit for each request with 0 benefit.

查看更多
萌系小妹纸
5楼-- · 2019-06-16 07:26

I would definitely go with mod_deflate, on the assumption that you have static css and js files which apache is serving directly and can also be compressed.

查看更多
登录 后发表回答