更新されました。長めの(申し訳ありませんが)質問の下部を参照してください。
memcachedの統計を見ると、以前は気付かなかった問題を見つけたと思います。無駄なスペースが非常に多いようです。phpmemcacheadminで変更を確認したところ、この画像が私を見つめていました。
今、私は最悪のシナリオは50%の無駄があるという印象を受けましたが、すべての詳細を知らないことを認めたのは初めてです。とりわけ古いこのページを読みましたが、私たちのバージョンのmemcachedもそうです。システムがどのように機能するかは理解していると思いますが(たとえば)、私は、76%の無駄なスペースに到達する方法を理解するのに苦労しています。
phpmemcacheadminが示す追い出し率はです2 ev/s
ので、ここで問題があります。
主な質問は次のとおりです。これを修正するにはどうすればよいですか。私はそれでより多くのメモリを投げることができました(私は考えるといくつかの余分な空きがあります)、多分私はスラブ設定をいじる必要があります(このバージョンでも可能ですか?)、多分他のオプションがありますか?memcachedバージョンのアップグレードは、すぐに利用できるオプションではありません。
好奇心から二番目の質問は、75%(および上昇)の無駄なスペースの割合が予想される場合、そしてそうである場合は、その理由はもちろんです。
システム:現在、これは私ができることではありません。memcachedバージョンは最新のものではないことは知っていますが、これらは私が扱ったカードです。
- Memcached 1.4.5
- Apache 2.2.17
- PHP 5.3.5
@DavidSchwartzの答えへの応答として:phpmemcacheadminが生成するスラブ統計は次のとおりです(これらよりも多くのスラブがあります)
更新
デーモンを-f 1.5で再起動しましたが、本当に見栄えがよかったです。ある程度の温暖化の後、50/50の使用済み/無駄がありました。しかし、以前と同じように、1日が長ければ長いほど(日中は忙しくなります)、現在の30/70に戻り始め、無駄は増え続けています。それとは別に、「無駄」がどこから来たのか、私にはまだわかりません。このスラブが見えます:
**Slab 5 Stats**
Chunk Size 496.0 Bytes
Used Chunk 77502 [24.6 %]
Total Chunk 314986
Total Page 149
Wasted 117.3 MBytes
Hits 30.9 Request/sec
Evicted 0
いっぱいではなく、排除されていませんが、117.3 MBを無駄にしています。私がした迅速な計算(間違っていたら修正)は次のとおりでした:
- 前のスラブのチャンクサイズは328であるため、最悪の場合、このスラブは329バイトのチャンクで埋められます。
- これは、使用済みチャンクあたり167バイト= 12942834バイト= 12.3 MBを無駄にしていることを意味します
では、他の105 MBの無駄はどこから来たのでしょうか?次のような兄です。
**Slab 6 Stats**
Chunk Size 744.0 Bytes
Used Chunk 17488 [31.0 %]
Total Chunk 56360
Total Page 40
Wasted 31.1 MBytes
Hits 107.7 Request/sec
Evicted 1109