Cache::Memcached(::Fast)を使う上でベストプラクティスをまとめたモジュールを書いてみた。名前は、Cache::Memcached::IronPlate。おのみち焼き。 githubにあります。ドキュメントが日本語だけです: https://github.com/kazeburo/Cache-Memcached-IronPlate つかいかた use Cache::Memcached::IronPlate; use Cache::Memcached::Fast; my $memd = Cache::Memcached::IronPlate->new( cache => Cache::Memcached::Fast->new(...). ); $memd->get $memd->get_multi $memd->set $memd->add $memd->replace
This is part two in my caching series. Part one covered the concept behind the full page caching as well as potential problems to keep in mind. This part will focus on implementing the concept in actual PHP code. By the end of this you’ll have a working implementation that can cache full pages and invalidate them intelligently when an update happens. Requirements I’ll provide a fully functional fr
「memcachedの活用と運用 実践編」の連載も今回が最後となります。連載の第1回ではmemcachedの最新バージョンである1.4系で増えたオプションやよく利用されるオプションの紹介をしました。第2回目では安全にmemcachedを利用するために気を配るセキュリティや脆弱性について説明し、3回目では稼働監視やリソースモニタリングについて書かせて頂きました。 最終回では、これまで説明してこなかったmemcachedを快適に活用、運用するための小さめのTipsをいくつか紹介します。 指定したキーが含まれるサーバを探す 複数台のmemcachedのサーバを1つのグループとしてWebアプリケーションサーバなどのクライアントから利用している場合、特定のキーのデータがどのmemcachedサーバに保存されているのか知ることは容易ではありません。 memcachedのキャッシュオブジェクトの分散は、
例の件以来、memcachedについて書いたり話したりする機会が多く頂いています。次はShibuya.pm で再び監視について発表する予定です。また、今回の発表でも紹介したリソースモニタリングツール cloudforecast はYAPC::Asiaで詳しく説明します。Shibuya.pmは参加のキャンセル待ちがかなり多い状態ですが、YAPC::Asiaはまだまだチケット絶賛発売中です。ぜひいらしてくださいませー。 \n\n例の件以来、memcachedについて書いたり話したりする機会が多く頂いています。次は[Shibuya.pm](http://shibuya.pm.org/) で再び監視について発表する予定です。また、今回の発表でも紹介したリソースモニタリングツール cloudforecast はYAPC::Asiaで詳しく説明します。Shibuya.pmは参加のキャンセル待ちがかなり
こんにちは、システム本部技術部たんぽぽGの森本です。 先日のmixi大規模障害の原因となったmemcachedの不具合の詳細な解明ができました。 再来週まで発表を見合わせようと思ったのですが、早くお伝えしたほうがいいと思いましたので公開発表致します。 memcachedとlibevent memcachedはlibeventというライブラリを使用してクライアントからの要求(接続、コマンド送信)を処理しています。 libeventを使用するにはevent_baseという構造体を用います。 main threadはmain_baseを使用します。 static struct event_base *main_base; ... int main (int argc, char **argv) { ... main_base = event_init(); ... /* enter the ev
handlersocket plugin や mycached を使えば memcached は不要か、それとも使うべきケースがあるか。考察せよ [10点] kazuho (Kazuho Oku) http://twitter.com/kazuho/status/21477219149 考えて答えてみる。 HandlerSocketやmycachedを利用し、MySQLへの接続数が数万単位で行えるようになったり、より多くのクエリ数が発行できるようになっても、memcachedは不要ではないし、使うべきケースもあります。 memcachedは単なるKVSではなく、ExpiresとLRUがついたキャッシュサーバです。キャッシュオブジェクトには期限を付ける事ができ、期限が過ぎたキャッシュは無効にされ、またアクセスがされていない不要になったオブジェクトは削除され、空いたスペースは新しいキャッシュオ
こんにちは。システム本部技術部たんぽぽGの森本です 補足を追記しました (2010/08/20 15時) 先日のmixi大規模障害についての続報です 今回は小ネタはありません はじめに まず初めにtwitter/blogなどを通じて今回の問題の解析を行っていただいたみなさんに感謝の言葉を捧げたいと思います kzk_moverさん stanakaさん mala(bulkneets)さん llameradaさん (順不同) ありがとうございました 書き漏らした人ごめんなさい memcachedはすごい 今回の件でmemcachedに対して不安感を持たれた方もおられるとお聞きしました 説明不足だったせいで誤解を与えてしまい申し訳ありません きちんと設定および監視を行っていれば通常の使用にはまったく問題はありません 弊社にて -c 30万で起動したmemcachedに対して、先のテストスクリプトに
1.4系で新しく追加された主な機能しては バイナリプロトコルの導入 マルチスレッドの標準化 統計の強化 などが上げられます。この1.4系の機能の詳細については前坂徹氏の連載「memcached 1.4の到来」が参考となります。ここではバージョン1.2.5と最新の1.4.5の起動オプションを比較しながら、新しく追加された機能や実際の運用で用いられる起動オプションについて説明します。 1.2系と1.4系の起動オプションの違い まず、memcachedの起動オプションの一覧(ヘルプ)を確認しましょう。memcachedのヘルプを出力するには、「-h」オプションを使います。 $ memcached -h memcached 1.x.x -p <num> TCP port number to listen on (default: 11211) -U <num> UDP port number t
memcachedの件: その2 2010-08-14 (Sat) 4:59 Uncategorized 再現させる bulkneetsツールを使ったが、Ubuntu Intrepid (2.6.27-11-server)では再現せず。RHEL5(2.6.18-128.el5)では再現した。もうちょい色々な環境で試してみる必要が有りそう。 エラーメッセージからの追跡 stanakaさんの以下の発言より。 * http://twitter.com/stanaka/status/21037070317 以下のメッセージが出るらしい。 [err] event_queue_remove: 0x15ea9d88(fd 30) not on queue 8 event.c event_queue_remove()の先頭部分でのメッセージ。 void event_queue_remove(struct
libevent-1.3b, libmemcached-1.4.4 で固まる? 2010-08-13 (Fri) 0:56 Uncategorized mixiの件について、nealさんから情報を貰ったので数時間調査してみた。というのも、うちの製品でもlibevent(evhttp)をリクエスト処理に使っているので、これにバグが有ると非常に困る。 Nealさんのつぶやき ひとまず、libevent-1.3b, libmemcached-1.4.4をビルドする。memcachedは、-cで同時接続数を制限できる。で、この同時接続数というのは、実はファイルディスクリプタの数を制限する事で達成されている。memcached.cの以下の部分。 /* * If needed, increase rlimits to allow as many connections * as needed. */
Neal Sato @nealsato 二日とも複数台のmemcachedが連続して落ちました。コアは吐かずにストンと落ちるので、原因追及に時間がかかりましたが、memcachedへの接続数が異常に多いと落ちる事は再現できました。 #mixi Neal Sato @nealsato memcachedが大量の接続を受けると突然停止をするので、memcachedへの接続数を減らし安定運用中。外部からの過剰アクセスではなく、サーバ追加→クライアント数増加→停止。 Masahiro Nagano / 長野雅広 @kazeburo ファイルディスクリプタが不足してmemcachedが落ちたとして、そのときには、3万強の接続となってるはず。3万強の接続となるにはアプリケーションサーバ側のmax clientが平均60として500台以上必要。そんなに増えたん?
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く