Die folgenden für mich gearbeitet.
Ich habe gzip auf der nginx-Ebene aktiviert, nicht in Django oder Django Rest Framework.
/etc/nginx/nginx.conf Datei:
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;
}
Dies lässt die auf dem nginx Server komprimiert und als die meisten modernen Browser automatisch wissen, wie zu extrahieren (Dekomprimieren) gzip-Kompression, habe ich nicht Ich muss alles auf meiner Client-Seite tun - auch wenn ich JSON-Daten in einer Angular Spa App erhalte.
Meine 1,3 MB JSON-Nutzlast verwandelte sich in ungefähr 180 KB Nutzlast.
Eine ziemlich schnelle und schnelle Möglichkeit, MB von Daten zu speichern.
Stellen Sie sicher, dass der Performance-Kompromiss der zusätzlichen CPU/Latenz für die Komprimierung in Betracht gezogen wird. –
@dwightgunning kennst du irgendein Papier, das Hinweise darauf geben könnte? – aumo
http://tweaked.io/guide/nginx/ umreißt den Kompromiss. Solange Sie CPU-Headroom haben, sollten Sie in Ordnung sein. Wähle einfach etwas vernünftiges und gehe weiter ;-) –