Slab Allocatorの弱点
Slab Allocatorの開発により,
その問題は,
図3 chunkの領域使用

この問題に対する完全なソリューションは現状存在しませんが,
The most efficient way to reduce the waste is to use a list of size classes that closely matches (if that's at all possible) common sizes of objects that the clients of this particular installation of memcached are likely to store.
つまり,
ただし残念なことに,
Growth Factorを使ったチューニング
memcachedはスタートアップ時にGrowth Factorという因子を指定して
では,
$ memcached -f 2 -vv
以下がスタートアップ後のverbose出力です:
slab class 1: chunk size 128 perslab 8192 slab class 2: chunk size 256 perslab 4096 slab class 3: chunk size 512 perslab 2048 slab class 4: chunk size 1024 perslab 1024 slab class 5: chunk size 2048 perslab 512 slab class 6: chunk size 4096 perslab 256 slab class 7: chunk size 8192 perslab 128 slab class 8: chunk size 16384 perslab 64 slab class 9: chunk size 32768 perslab 32 slab class 10: chunk size 65536 perslab 16 slab class 11: chunk size 131072 perslab 8 slab class 12: chunk size 262144 perslab 4 slab class 13: chunk size 524288 perslab 2
ご覧の通り,
では,
slab class 1: chunk size 88 perslab 11915 slab class 2: chunk size 112 perslab 9362 slab class 3: chunk size 144 perslab 7281 slab class 4: chunk size 184 perslab 5698 slab class 5: chunk size 232 perslab 4519 slab class 6: chunk size 296 perslab 3542 slab class 7: chunk size 376 perslab 2788 slab class 8: chunk size 472 perslab 2221 slab class 9: chunk size 592 perslab 1771 slab class 10: chunk size 744 perslab 1409
ご覧の通り,
memcachedをプロダクションに導入することを検討している,
次にmemcachedのstatsを使ってslabsの利用率や色々な情報を調べる方法を紹介します。