memcachedにみる粒度のアプローチ

お恥ずかしながら、memcachedは名前だけ知っていたものの、実体を知りませんでした。
まぁ、名前からするにメモリでキャッシュできる、くらいの知識はありましたが。
で、ちょっと動作を見て驚きました。
というのは、だいぶ?前のmemcacheのメモリ管理アプローチは実オブジェクトのサイズで
メモリ確保、解放を行っていたということです。
これはSlab Allocationというブロック単位のアプローチに取って代わられることとなり、
現在に至るようですが、そこに至るまでにはメモリのフラグメンテーションやらメモリ管理
プロセスの負荷増大など考えうるいろいろな問題が生じていたようです。
もちろん、このようなメモリ管理を行うことによる、端数の無駄は生じますが、トータルで見ると
このアプローチが有効であることはいうまでもないでしょう。

興味深いのは以前はデフォルトで2倍刻みで増やしていたサイズを1.25倍刻みに変更したという
ことですね。
まぁ、正確には1.25倍で端数を8の倍数になるように調整はしているようですが。

こういう細かいチューニングができるというのはすばらしいアプローチですね。
ただ、メモリだからこれほど柔軟なんであって、ディスクが相手だとここまではできない気がします。

将来的にはストレージが選べるようになるとのことなので、この辺りのチューニングも腕の見せ所
になるのでしょうか。
ディスクアプローチならやはりフラットファイルアプローチが最高のパフォーマンスを出せるような
気がします。