Memcached 1.4.23 が 2015/4/19 にリリースされました。
2015/4/25 にリリースされた 1.4.24 では、クリティカルなバグが修正されています。
- Release notes for Release 1.4.23 - Memcached - Google Project Hosting
- Release notes for Release 1.4.24 - Memcached - Google Project Hosting
1.4.23 については、手元にざっと日本語訳したものがありますが、ライセンスがよくわからなかったので公開しません。(有識者の方はお知らせ下さい。)
概要と、コメントのみ記しておきます。
まだ動かして試してはいません。
概要
- コア部分の LRU アルゴリズムを大幅に書き換えたようです。
- LRU を HOT, WARM, COLD の3つの領域に分けて、アクティブなアイテムを HOT に、非アクティブなアイテムを COLD に置いて、COLD のものから eviction させるというやり方。
- バックグラウンドでスレッドが動き、この 3 つの LRU 領域の間でアイテムを行き来させる。
- バックグラウンドのスレッドは expire したアイテムの削除もやってくれる。
- オプションを指定しなければ以前のバージョンと同じように動作する。
- OpenBSD の 2Q アルゴリズムというものをベースにしているそうです。
- 性能向上
- 新機能を有効にすれば大幅にメモリ効率が改善する可能性があります。
- バグ修正
- flush_all がスレッドセーフでなかった問題
- stats コマンドでクラッシュする問題(1.4.24)
- その他変更点
- (たぶん 1.4.10 で導入された) spinlocks がなくなった。性能向上がなかったため。
- (spinlocks について参考) https://code.google.com/p/memcached/wiki/ReleaseNotes1410
- (たぶん 1.4.10 で導入された) spinlocks がなくなった。性能向上がなかったため。
所感
コア機能を書き換えたため不安定になったのか、1.4.24 のリリースまでにいくつか Issue が報告されていました。
2015/4/26 現在、報告されている致命的なバグはないようです。
が、現時点では、バージョンアップする場合は慎重に実施した方がよいように思います。