2009-11-27 6 views

Antwort

12

Viele Clients führen Komprimierung durch, aber keine Komprimierung findet auf dem Server selbst statt.

Die clientseitige Komprimierung bedeutet, dass weniger Daten über das Netzwerk gesendet werden. Noch wichtiger ist jedoch, dass einzelne Objekte kleiner sind. Kleinere Objekte werden wahrscheinlich effizienter gespeichert, da sie eher in kleinere Platten fallen.

Auch wenn Sie keine signifikante Reduzierung der Brachemenge sehen, sollten Sie wahrscheinlich mehr Platz für mehr Objekte haben.

+0

Was ist mit Nachteilen? ZENTRALPROZESSOR? –

+3

Es wird ein wenig CPU-Overhead sein. Wenn Sie es messen können, können Sie Ihren Komprimierungsalgorithmus entsprechend anpassen. :) – Dustin

1

Mir waren die Komprimierungsoptionen in Memcache-Clients nicht bekannt.

Ich denke jedoch, wenn Sie mehr Platz auf dem Memcache-Server benötigen, sollten Sie in mehr RAM oder möglicherweise mehr Server investieren, wenn es sein muss. Das Komprimieren von Daten kostet CPU-Zyklen auf Ihrem Webserver (abhängig vom Algorithmus und Grad der Komprimierung), und im Grunde glaube ich nicht, dass es sich lohnt.

BTW, Ram billig ist :)

+1

Wenn der Cache auf einer dedizierten Maschine läuft, hätte er fast sicher ungenutzte Rechenleistung, so dass der CPU-Treffer nicht bemerkt werden kann. Übrigens verwende ich seit einiger Zeit AWS und GCP und kann nicht zustimmen, dass RAM im Allgemeinen billig ist, und es ist auch billiger, die Anzahl der Kerne zu verdoppeln, als die doppelte Menge an RAM. – user2417480

+0

Ok, das hängt natürlich von deiner Einrichtung ab. RAM war wahrscheinlich 6-7 Jahre weniger teuer als heute :) –

2

In großem Maßstab Cluster I/O wird kritisch.

Die Komprimierung kann die CPU-Last erhöhen, aber stattdessen den I/O reduzieren.