1. Qiita
  2. 投稿
  3. Couchbase

CouchbaseServerを導入して1年の経過

  • 10
    いいね
  • 0
    コメント

本記事はアイスタイルAdvent Calendar 2016の23日目の記事です。
去年もCouchbaseネタを書いたインフラエンジニアが1年ぶりに経過を書こうと思います。

去年のネタはこちら

昨年からの推移

もともとデータのキャッシュに対するリテラシーは低かったので、
まずは利用しよう!というフェーズからのスタートです。

予想通り、まずは取っ付き易いMemcachedバケットが多く利用されました。

  • WebサーバにMemcachedが載っている状況は新たに作り出したくない。
  • ある程度はノウハウがあって手っ取り早くMemcachedバケット使った。

完全にオンプレ環境なのでいちからサーバ構築することもなく、2分でMemcached環境作れるのは手軽。。。!
新たに開発されるWebサービスがたまたま多かったというのも追い風でした。
その中で一部Couchbaseバケット及びNiQLの利用案件が出たことは喜ばしいですね。

現在のCouchbaseクラスタ

ざっくりと現在のCouchbaseの状況を晒しておきましょう。

項目 現状
Couchbaseバケット 10バケット
Memcachedバケット 15バケット
総Item数 70万Item
ピーク時処理量 5000 Ops/sec
メモリ利用状況 Used 2GB / Allocate 16.5GB / Total 120GB
ディスク利用状況 Used 1.3GB / Free 2.5TB
Index総数 10

導入してくれるサービスが増えることで、徐々にコネクション数も増えてきました。
どこまで耐えられるのかなぁ~。。。

Couch_Connections.png

新たにリリースしたサービスが主な利用ドコロですが、
割とコアなところにも使って頂けたりしていて、思ったより秒間の処理数は多い印象でした。
NiQLのQuery/secはまだ少ないですがこれから増えていってくれるといいなーと思います
が、CPU食い過ぎるクエリにならないことを切に祈ります。
(DBもCPUがボトルネックでいっぱいいっぱいなのに。。。汗

Couchbaseを導入してみて

良かったこと

  1. データキャッシュ環境を気軽に利用できるようになった。
  2. キャッシュ利用しよう!という意識が徐々に芽生えてきた。
  3. とりあえずDBに問い合わせる、
  4. NoSQLの先駆け!(世間的には結構今更感あるけど。。。

今後の課題

  1. セッション情報など気軽に載せられる物がメインで、処理軽減などを目的とした利用意識がまだ薄い。
  2. 全く問題起きなくてインフラ的なノウハウがあんまり溜まっていない。
  3. GUI便利だけどCLI側の知識詰めるようにちょっと勉強しないといけない。
  4. 監視どこまでやろうか悩む。。。

発生した問題

  1. Memcachedバケットの挙動が、本家Memcachedと異なる点がちょくちょくある。
    STATSの情報や、TELNETしてGET/SET出来なかったり。。。
  2. クライアントライブラリのバージョンが上がって、突如挙動が変わるという事件が発生。
  3. 用途ごとにバケットが量産されていく。そしてMAX Bucketをあっさり突破する。
    • 用途別にキーを切り分けるとかでも良かったのでは。。。?でも検索速度に影響もしそう。

総評

  • クラスタ自体は思った以上に安定して動作している。
    • 逆に何もなくて怖い。ノウハウたまらない。
  • Memcachedバケットは「ある程度」互換性がある。
    • 弊社では本家Memcachedでできることを再現するためにツール作ってくれているらしい。。。
  • 来年はもうちょっとNoSQLとかデータのキャッシュとか進められたらいいなー。
  • 応答速度の改善引き続き頑張っていきたい。