Apache2 gzip-et érdemes bekapcsolni?

Sziasztok!

 

Van egy otthoni szerverem, ami a lakás fogyasztását monitorozza és Raspberry Pi 4B és Apache2 alatt fut. Az éves fogyasztási adatokhoz a JSON file 500k, ami GZIP-pel tömörítve 138k.

Szemmel nagyon nem látható sebességnövekedés a GZIP bekapcsolásával.

Elvi szinten érdemes szerintetek nagy JSON adatokra GZIP-et rakni? Mikor érdemes bekapcsolni?

Hozzászólások

Volt egy ilyen: https://en.m.wikipedia.org/wiki/BREACH

Egyébként igen, perf. szempontból megéri. Az lz4-el még jobb eredményt értünk el, de azt a böngészők nem ismerik, magadnak kell belerakni az alkalmazásba (a két egymással kommunikáló servicebe) . Ez ilyen 5-6 éve volt.

attol fugg.

ha fontos hogy mennyi adat megy at a halozaton, akkor kapcsold be.

ha fontos hogy mennyi ido alatt megy at az adat, akkor merd meg hogy mennyi ido a ki/betomorites es amig atmegy.

neked aztan fura humorod van...

A Raspberry Pi 1B-n még be volt kapcsolva a GZIP és gyorsult is. Ez ugye Raspberry Pi 4B, ami már nem egymagos 700MHz-s csiga. A 4B simán viszi jelenleg a gigabites ethernetet, durván 100 MByte/s-cel. Láttam scp-n, amikor cache-ből jött a fájl, nem az SD kártyáról.

Az ESP8266-on/ESP32-n nyilván GZIP-pel tárolom a statikus tartalmat.

Az érdekelt, hogy van-e ökölszabály, de úgy tűnik nincs. A kőkori inviteles ZTE WIFI routerrel ugye lehet, hogy lenne hatása. Az a gond, hogy más környezet más eredményt ad.

Elvi szinten érdemes szerintetek nagy JSON adatokra GZIP-et rakni? Mikor érdemes bekapcsolni?

Amikor a CPU olcsóbb, mint a hálózat.

Elvi szinten mindent hagyok a defaulton addig, amíg különösen nem indokolt az átállítása. Itt az, hogy naponta 1 megabyteot/másodpercet nyersz az szerintem nem indok és főleg nem nyomós.

Elvi szinten érdemes szerintetek nagy JSON adatokra GZIP-et rakni? Mikor érdemes bekapcsolni?

Ahogy Frankó írta, alapvetően sávszélt/latencyt veszel CPU-ért (és memóriáért) cserébe. A nagyobb terhelések általában szeretik, CPU-t venni általában olcsóbb/könnyebb skálázni, illetve a "modern" webalkalmazásoknál, mobil appoknál, ahol sok a pinpong a backenddel, és "azonnal" kell, mert valójában GUI, ott számít a latency. Ha ez neked nem szempont, akkor igazából neked nem kell.

A nyúlüreg egyébként elég mély, rohadtul nem mindegy, hogy mivel és hogyan csomagolsz be, hogy a sebesség melyik oldalon szűk keresztmetszet (a facebook zstdje például egészen sokáig lényegesen gyorsabban csomagol be, mint ki, nyilván, azt a kliensen kell).

Gzipet pl általában nem érdemes ~level 4-5 felett, minimális nyereség sok becsomagolási CPU időért cserébe (szintenként romlik az előzőhöz képest 25-30%-ot, és nyer egy 1-2%-ot). Illetve nem tudom, hogy pl apache alá a strandard zlib helyett be lehet-e mókolni a pigz-t, ami multi threaded, cserébe sokkal gyorsabb.