2009-11-27 17 views

risposta

12

Molti client eseguono la compressione, ma nessuna compressione avviene nel server stesso.

La compressione lato client significa che vengono inviati meno dati sulla rete, ma, cosa più importante, i singoli oggetti sono più piccoli. Gli oggetti più piccoli verranno probabilmente archiviati in modo più efficiente poiché è più probabile che cadano in lastre più piccole.

Anche se non si riscontra una significativa riduzione degli sprechi di lastra, è probabile che si abbia più spazio disponibile per più oggetti.

+0

E i lati negativi? PROCESSORE? –

+3

Ci sarà un po 'di overhead della CPU. Se è possibile misurarlo, è possibile regolare di conseguenza l'algoritmo di compressione. :) – Dustin

1

Non ero a conoscenza delle opzioni di compressione nei client Memcache.

Tuttavia, penso che se hai bisogno di più spazio sul server Memcache, dovresti investire in più ram o possibilmente più server, se necessario. La compressione dei dati costerà dei cicli della CPU sul tuo server web (a seconda dell'algoritmo e del livello di compressione), e fondamentalmente non penso che ne valga la pena.

proposito, Ram è conveniente :)

+1

Se la cache è in esecuzione su una macchina dedicata, avrebbe quasi sicuramente un sacco di potenza di elaborazione non utilizzata, quindi il successo della CPU è impercettibile. A proposito, ho usato AWS e GCP per un po 'di tempo e non posso essere d'accordo sul fatto che la RAM sia economica in generale, ed inoltre è più economica raddoppiare il numero di core che non il doppio della RAM. – user2417480

+0

Ok, questo dipende dal tuo setup, ovviamente. La RAM era probabilmente meno costosa 6-7 anni fa rispetto a oggi :) –

2

In un cluster larga scala, I/O diventa critica.

La compressione può aumentare il carico della CPU ma ridurre l'I/o.