Następujące pracował dla mnie.
Rzeczywiście włączono gzip na poziomie nginx, a nie w Django lub Django Rest Framework.
plik /etc/nginx/nginx.conf:
http {
#... other settings ...#
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
}
To pozostawia kompresji do serwera nginx i jak większość nowoczesnych przeglądarek automatycznie wiedzieć jak wydobyć (dekompresji) kompresję gzip, ja nie Potrzebuję zrobić wszystko po mojej stronie klienta - nawet gdy otrzymuję dane json w aplikacji Angular Spa.
Moje 1,3 MB ładunku JSON zostało przekształcone na ładunek o wielkości około 180 KB.
Bardzo szybki i szybki sposób na zapisanie danych MB.
Pamiętaj, aby uwzględnić kompresję wydajności dodatkowego procesora/opóźnienia w celu przeprowadzenia kompresji. –
@dwightgunning Czy znasz jakiś dokument, który dałby wskazówki na ten temat? – aumo
http://tweaked.io/guide/nginx/ określa kompromis. Dopóki masz zapas CPU, powinieneś być w porządku. Wybierz coś rozsądnego i ruszaj się ;-) –