2009-11-27 8 views

答えて

12

多くのクライアントは圧縮を行いますが、サーバー自体は圧縮されません。

クライアント側の圧縮では、ネットワーク経由で送信されるデータは少なくなりますが、重要なことは個々のオブジェクトが小さくなることです。小さなオブジェクトは、より小さなスラブに収まる可能性が高いため、より効率的に格納されます。

スラブオーバーヘッドの大幅な削減が見られなくても、より多くのオブジェクトに利用できるスペースが増えるはずです。

+0

ダウンサイドはどうですか? CPU? –

+3

少しのCPUオーバーヘッドがあります。あなたがそれを測定することができるなら、あなたはそれに応じて圧縮アルゴリズムを調整することができます。 :) – Dustin

1

私はMemcacheクライアントの圧縮オプションを認識していませんでした。

しかし、Memcacheサーバーにさらにスペースが必要な場合は、必要に応じてさらに多くのRAMまたはおそらくより多くのサーバーに投資する必要があります。データを圧縮すると、アルゴリズムと圧縮度に応じてウェブサーバーのCPUサイクルがかかりますが、基本的にはそれが価値があるとは思われません。

ところで、

+1

キャッシュが専用のマシン上で実行されている場合、ほとんどの場合、未処理の処理能力が十分にあるので、CPUヒットは目立たない。ところで、私はAWSとGCPをしばらく使用していましたが、RAMは一般的に安価であることに同意できません。また、RAMの2倍に比べてコア数を倍増するのに安くて済みます。 – user2417480

+0

これは、もちろんあなたの設定によります。 RAMは今日より6〜7年前にはおそらく安価でした:) –

2

大規模なクラスタでは、I/Oが非常に重要になります。

圧縮ではCPU負荷が増加する可能性がありますが、代わりに入出力が低下します。

関連する問題