( kroozo | 2023. 11. 13., h – 11:14 )

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.