Road To Nowhere

主にWebまわりのエンジニア的なお仕事に関するようなことのあれこれ。

memcachedの機能に限界を感じてきたので

memcachedを使っているんだけど、その機能に満足できない部分がでてきたのでメモ。

  • 一つのキーで保存できるサイズの上限が1M。
    • 1M以内に収まることのほうが多いと思うけど、画像をアップロードするときの一時ファイルをbase64エンコードして、memcachedに保存しようと思ったら、1Mを超えてしまってできなかった。
  • 同時接続数の上限がどうも2000ほど。
    • トラフィックが集中したときにこの上限を超えたらしく、memcachedサーバが断続的に落ちた。メモリをflushして復旧。たまってたキャッシュは全部消えた。
  • memcachedサーバを再起動するとキャッシュが全て消える。
    • これはオンメモリなのでしょうがないけど。。。
    • ちなみにうちでは冗長性をもたすためにrepcachedを使っている。


さて、そこで解決できそうなものをピックアップ。

  • memstored
    • 一つのキーで保存できるサイズの上限が2^32バイトってことでこれはすごい。
    • 同時接続数の上限は不明。
    • Tokyo Cabinetを使用しているということで再起動でキャッシュの復旧も可能(?)
    • 同時接続数以外は要件を満たせるんだけど、キャッシュデータの冗長性が気になる。
    • repchachedと共存とかできんのかな?
  • Flare
    • 同時接続数と、一つのキーで保存できるサイズの上限は不明だけど、データの永続性、データのレプリケーションというのは素晴らしい。


今日はここまで。

それぞれの理解を深めていかないとな。