memcachedのこと
運用チームから「データ設定間違えちゃって、その情報でデータがキャッシュされちゃったみたい!いつキャッシュって消える??」と問合せアリ。24hキャッシュですと答えると、そんなに待てないということで手動で削除する運びになりました。
データのキャッシュに使っているのは、memcached。
今まで意識せずに使ってきた、昔からあるkey:valueのストア機構。
メモリに乗せるから早いんだよネ。
それくらいの知識しかないので、調査したことを記録する。
参考
DBアクセスで負荷が高いならmemcachedを使おうという内容のチュートリアル
TutorialCachingStory が面白かったです。
ある日サーバーの負荷があがったときのmemcachedの導入をしたシステム管理者とプログラマーの冒険チックな語りお話し。
6台のWebサーバーがあり、そのうち3台にmemcachedの導入を決めたシステム管理者。
その3台にRAMを1GBずつ追加し、memcachedの起動条件を1GBにして起動。
「だから何?まだなにもできてないじゃないか!」というプログラマーに対して
クライアントライブラリのマニュアルを見せてみると、どう使えばいいかピーンと来たプログラマ。
そういえばあのSQLクエリ、5秒掛かるんだよね。memcachedに入れたらいいのでは!となっていくストーリーだと思われます。
なんか血が噴き出すとかデータベースが病気だとかの表現がちらほら(笑)
ハードウェア要件
気になった内容を抜粋です。
CPU要件
高速に動くという目的のために、CPUは一般的に軽く、bitが小さいCPUでもたいてい動く。
RAM要件
memcachedのいいところは複数のmemcachedを1つのように扱えること。
各memcachedが使うRAMのサイズはほぼ同じサイズにしておくと便利。
追加や削除の際に、クラスターの均一性のため特定の「重さ」を 気にかけなければいけなくなるから?
ちょっと翻訳が難しい..
あとは、メモリを過剰に割り当ててSWAPが使われないように細心の注意を払うこと!
高速RAMは必要ない、測定できるほどメリットはないと、と書いてある。