タグ

memcachedに関するsendsageのブックマーク (20)

  • mixiがはまったmemcached(or libevent?)の問題を調べる人たち

    Neal Sato @nealsato 二日とも複数台のmemcachedが連続して落ちました。コアは吐かずにストンと落ちるので、原因追及に時間がかかりましたが、memcachedへの接続数が異常に多いと落ちる事は再現できました。 #mixi 2010-08-12 02:33:00 Neal Sato @nealsato memcachedが大量の接続を受けると突然停止をするので、memcachedへの接続数を減らし安定運用中。外部からの過剰アクセスではなく、サーバ追加→クライアント数増加→停止。 2010-08-12 08:45:50 Masahiro Nagano / 長野雅広 @kazeburo ファイルディスクリプタが不足してmemcachedが落ちたとして、そのときには、3万強の接続となってるはず。3万強の接続となるにはアプリケーションサーバ側のmax clientが平均60とし

    mixiがはまったmemcached(or libevent?)の問題を調べる人たち
  • Windows向けのmemcachedサーバ&フロントエンド·MemCacheD Manager MOONGIFT

    memcachedはその名の通り、メモリー上にデータを保存する。そのためデータの保存/取得はとても素早く行える。反面、そこに保存されているデータはおいそれと見ることができない。もちろんmemcachedクライアントからは見られるが、一覧で取り出したりすることはできない。 サーバ設定 そのため実際にデータが保存されているか、データはどのくらいあるのかといった情報は見られず慣れるまでは多少面倒だった。だがそれを解決するのがMemCacheD Managerだ。 今回紹介するフリーウェアはMemCacheD Manager、Windows向けmemcachedサーバ&フロントエンドだ。 MemCacheD Managerはmemcachedサーバとしての役割とデータ一覧するフロントエンドとしての役割を持つソフトウェアだ。MemCacheD Manager上でmemcachedサーバを設定し、その

    Windows向けのmemcachedサーバ&フロントエンド·MemCacheD Manager MOONGIFT
  • 全文検索エンジンgroongaをテストリリースしました。 - グニャラくんのグニャグニャ備忘録@はてな

    全文検索エンジンのgroongaをテストリリースしました。 groonga 日開催された、key-value store勉強会で発表させていただきました。 今まで、Sennaには Tritonn経由で使った場合、MySQL側のインデックスとの併用が難しく、Senna来のパフォーマンスが発揮できなかった。 従来のインターフェースでは、トークナイザの切り替えなどの柔軟性がなかった。 といった問題がありました。 groongaは、それに対する返答です。 自分でデータベース書けばいいんじゃね? 柔軟なAPI用意すればいいんじゃね? ってことですね。 データベースは、key-valueストアを組み合わせたcolumnストア的な感じになっています。 詳細については、今後別エントリやドキュメントで述べます。 今後は、Sennaはバグ修正のみ行うメンテナンスモードに移行します。 実際使ってみよう 今回

    全文検索エンジンgroongaをテストリリースしました。 - グニャラくんのグニャグニャ備忘録@はてな
  • 無いから作った人たち

    データベース技術の世界に新顔が次々と登場している。米Danga Interactiveの「memcached」、ミクシィの「Tokyo Cabinet」と「Tokyo Tyrant」、楽天の「ROMA」、グリーの「Flare」などだ。いずれも半導体メモリーを使って大規模データベースを高速処理する技術である。面白いのは、4社ともIT製品を開発するメーカーではないことだ。 4社は、Webを使ったサービス事業を手掛ける企業であり、来であればメーカーが開発した製品や技術を使う立場である。ところが、こうした「ユーザー企業」が自ら基盤技術を開発し、それを利用している。 memcachedやTokyo Cabinet/Tyrant、ROMA、Flareの中では、memcachedが一番古い。Danga Interactiveが自社のブログ・サービス「LiveJournal」を改善するために2003年に

    無いから作った人たち
  • memcachedを愚弄する1つの方法 - グニャラくんのグニャグニャ備忘録@はてな

    某サービスでセッション情報を保持するために利用している memcached(repcached)に障害が起こった。 ちゃんと追えていないけど、おそらく以下のような原因。他の人がハマらないように。 障害発生まで memcached(repcached)の中には揮発したらそれなりにマズい情報が入っている。 repcachedサーバ2台のOS入れ替えをしていて、1台は再起動が成功した。 1台目のサーバへ2台目のサーバからのレプリケーションが完了したのをstatsのcurr_itemsにて確認した。 よって2台目を再起動するものの、起動しなくなった。 この時点では、1台は生きているから後でデータセンターいこうっと、という気軽な気持ちだった… 現象 生きている1台目のサーバで、以下のような現象が起こった… 値をsetする際に、ある閾値以上のexptimeを指定すると即expireされる。 その閾値は

    memcachedを愚弄する1つの方法 - グニャラくんのグニャグニャ備忘録@はてな
  • mixi Engineers’ Blog » 期間限定の新機能「エコー」登場

    こんにちは。mixi開発部のyouheiです。 今回は先日8月4日にリリースした「エコー」について書きたいと思います。 エコーとは まずはエコーとはどういう機能かのご紹介ですが、プロモーションページがございますのでそちらをご覧いただければ幸いでございます。 http://mixi.jp/guide_echo.pl いくつか抜粋しますと、 あなたの"今"を一言にしてみませんか?誰かに伝えたいこと、ひとりごと等、何でもOK! 気軽な新コミュニケーション機能です。 たとえば、「今日はいい天気だな〜」という、ひとりごとから、「お腹すいたー!誰かランチにいこうよ!」というメッセージ的な使い方まで、「エコー」の楽しみ方はあなた次第! マイミクシィ同士で「エコー」を使うとホームにお互いの書きこみが表示されます。 気になった書きこみには、返信することもできちゃいます。あなたがふと書きこんだ一言に、思わぬ返

    mixi Engineers’ Blog » 期間限定の新機能「エコー」登場
  • memcached Users Group :: Japanを立ち上げました。 - mixi engineer blog

    memcachedの生みの親であるBradから了解を得た上で先日、memcached Users Group :: Japanというコミュニティを立ち上げました。 http://memcached.jp コミュニティに関して 目的は国内におけるmemcachedの普及と技術界隈の人たちが集まり、スケールに関する様々な情報が集まる場を形成する事です。ウェブパフォーマンスの向上に関わっている人たちに限らず、初心者の人たちも大歓迎です。 それと英語メーリングリストでは聞きにくい質問を気楽にしていただけたらな、と思います。 コミュニティの運営は運用面やその他もろもろを考えた結果、Google Groupsを使って行なう事にしました。ですから、memcached.jp自体はウェブページを一枚しか配信していません。 グループへの参加は以下のURLで行なえます: http://groups.google

    memcached Users Group :: Japanを立ち上げました。 - mixi engineer blog
  • 【TechEd 2008】いわばMS版「memcached」,分散メモリー・キャッシュ技術「Velocity」を公開

    TechEd 2008】いわばMS版「memcached」,分散メモリー・キャッシュ技術「Velocity」を公開 米Microsoftは米国時間6月3日,開催中の「TechEd 2008 Developers」で分散メモリー・キャッシュ技術「Velocity(開発コード名)」を公開した。複数のサーバー(ノード)にまたがるアプリケーション用のキャッシュ・メモリーを構成する技術で,分散アプリケーションのパフォーマンス向上などが期待できる。 Microsoftでは,Velocityが構成するキャッシュ・メモリーを「Unified Cache View」と呼ぶ。ノードやユーザーからは,複数のノードにまたがって構成された巨大なキャッシュ・メモリーとして扱えるためだ。MicrosoftのDeveloper Tools Marketing担当DirectorであるDave Mendlen氏は「Vel

    【TechEd 2008】いわばMS版「memcached」,分散メモリー・キャッシュ技術「Velocity」を公開
  • mixi Engineers’ Blog » memcachedの最新動向

    先週アメリカに行ってMySQLカンファレンスやmemcached hackathonに参加してきました。そこで今回はmemcachedコミュニティやhackathonで行われた多くの議論に関してご報告させていただきたいと思います。 前書き ご存知の通りmemcachedはFacebookやWikipediaをはじめとする巨大ウェブサイトのコアテクノロジーの一つとして世界中で使われるまでに到達したソフトウェアです。mixiを支えるテクノロジーの一つでもあります。 hackathonをご存知ない方のために簡単に説明すると、オープンソースプロジェクトハッカーたちが実際に集まってプロジェクトの開発をしたり仕様の議論や提案などをするイベントの事です(とても楽しいです)。 今回で4回目になるmemcachedのhackathon(議事録)ですが、東京でもやったら面白いんじゃね?的な話を結構まえにした

    mixi Engineers’ Blog » memcachedの最新動向
  • memcacheプロジェクト成功裏にデプロイ、Twitter安定化? | エンタープライズ | マイコミジャーナル

    Twitterの動作が不安定になったりアクセスできなくなることはこれまでもあった。同社は安定性とスケーラビリティを向上させる目的でホスティングサービスをNTT Americaへ変更したりシステムを改善する取り組みを続けている。 Twitterは21日(米国時間)、よりスケーラビリティの高いサービスを作成するためのオーバーオールワークの一環として新しいmemcacheプロジェクトを成功裏にデプロイしたことを伝えている。デプロイ後にはサービスクオリティに対するインパクトを最小限に抑えつつ大量のデータを移行させる必要があるとし、要求に応じてデータを移行させるコードも一緒に追加したことも伝えている。 ただしこの結果として、いくらか正しくコミュニケーションが行われないことがあったとも報告されている。先週末から月曜にかけておかしな動きがあったとすればこの作業が原因だ。同報告のなかでは、このmemcac

  • repcached-2.0リリースのお知らせと、超簡単なサンプルコード : DSAS開発者の部屋

    repcached-2.0(memcached-1.2.5ベース) をリリースしましたのでお知らせします。 http://lab.klab.org/modules/mediawiki/index.php/Repcached (日語) http://repcached.lab.klab.org/ (英語) 今回の目玉はマルチマスタ構成のサポートです。 以前のバージョンはマスタ/スレーブ構成だったので、必ずマスタへ書き込まなければいけませんでした。そのため、接続先のサーバがマスタなのかどうかをクライアントが判別しなければいけなかったり、keepalivedなどと併用するなどの工夫が必要でしたが、今回のバージョンではその必要がなくなります。両方のサーバに対してデータを書き込むことができるようになったので、かなり使いやすくなったと感じています。 repcachedはパフォーマンスを最重視している

    repcached-2.0リリースのお知らせと、超簡単なサンプルコード : DSAS開発者の部屋
  • KLabが分散処理基盤ソフト「repcached2.0」をオープンソースとして公開

    KLabは2008年4月11日,分散処理基盤ソフトの新版「repcached2.0」をオープンソースとして公開した。複数のサーバーのメモリー上にオブジェクトをキャッシュ,複製して性能と耐障害性を向上させることができる。 repcachedは,オープンソース・ソフトウエアmemcachedに,KLabがデータのレプリケーション(非同期複製)機能を追加したもの。memcachedはメモリー上にPerlPHPJavaRubyなどのオブジェクトをキャッシュして性能を向上させることができるソフトウエアである。 repcahced 2.0ではマルチマスタ構成に対応し,アプリケーションがデータを書き込む際に,どのサーバーがマスタなのを判別する必要がなくなった。 repcachedは,KLabの開発者がソフトウエアやノウハウ,実験的なサービスをオープンソースとして公開しているWebサイト「クラブラボ

    KLabが分散処理基盤ソフト「repcached2.0」をオープンソースとして公開
  • repcached-1.2をリリースしました : DSAS開発者の部屋

    repcached-1.2 (memcached-1.2.4ベース) を公開しましたのでお知らせします。 今回のバージョンアップは以下の2件の不具合修正になります。 flush_allのレプリケーション時にマスタでメモリリークする可能性があったのを修正しました flagsパラメータがレプリケーションされていなかったのを修正しました ダウンロードやインストール方法などの詳しい情報は、プロジェクトページをご覧ください http://lab.klab.org/modules/mediawiki/index.php/Repcached (日語) http://repcached.lab.klab.org/ (英語) flagsパラメータがレプリケーションされない不具合の詳細 memcachedプロトコルでは更新系コマンドにflagsというパラメータがあります。 set key 0 0 5 ↑これ

    repcached-1.2をリリースしました : DSAS開発者の部屋
  • mixi Engineers’ Blog » スマートな分散で快適キャッシュライフ

    今日は以前のエントリーで書くと述べたConsistent Hashingに関して語らせて頂こうかと思います。ただしConsistent Hashingはセミナーやカンファレンスなどでかなり語られていると思いますので、コンセプトに関しては深入りせず、実用性に着目したいと思います。 問題定義 分散されたキャッシュ環境において、典型的なレコードを適切なノードに格納するソリューションはkeyのハッシュ値に対しmodulo演算を行い、その結果を基にノードを選出する事です。ただし、このソリューションはいうまでもなく、ノード数が変わるとキャッシュミスの嵐が生じます。つまり実世界のソリューションとしては力不足です。 ウェブサイトのキャッシュシステムの基はキャッシュがヒットしなかったらデータベースにリクエストを発行し、レコードが存在したらキャッシュしてクライエントに返すという流れです。ここで問題なのが一瞬

    mixi Engineers’ Blog » スマートな分散で快適キャッシュライフ
  • Memcached互換のデータベース·Memcachedb MOONGIFT

    Memcachedを使っている人は多いと思う。DBのキャッシュやセッションの保存先として便利なソフトウェアだ。フロントエンドをスケーリングするのも手軽で、キャッシュさせるには最適だ。 だが、一つだけ大きな問題がある。それはデーモンを停止するとデータが消失してしまうこと。消えて困るような用途には使うな、と言えばそれまでだが、Memcachedの便利さに惚れ込んでしまった人は、これを使ってみよう。 今回紹介するオープンソース・ソフトウェアはMemcachedb、停止してもデータが消失しないMemcachedだ。 MemcachedbはMemcachedとの互換性を持つ(まだ完全ではないようだが)データベースで、バックエンドにBerkeley DBを利用している。これによりサービスを停止してもデータが消失しないようになっている。 データをセットしたり、ゲットすることは可能になっている。キーと値だ

    Memcached互換のデータベース·Memcachedb MOONGIFT
  • repcached 1.1をリリースしました+2.0のもくろみ : DSAS開発者の部屋

    repcached 1.1 (memcached-1.2.4ベース) を公開しました! 主な変更点は次の通りです。 memcached-1.2.4の新しいプロトコル (append, prepend, cas) に対応。 ただし、いまのところcas unique IDのレプリケーションには対応していないので、getsとcasの間にフェイルオーバが発生すると、casが失敗する可能性があります。 レプリケーション用のテストケースを同梱しました。prove t.repでテストを実行できます。 ダウンロードやインストール方法などの詳しい情報は、プロジェクトページをご覧くださいませ! http://lab.klab.org/modules/mediawiki/index.php/Repcached (日語) http://repcached.lab.klab.org/ (英語) そして2.0 1.

    repcached 1.1をリリースしました+2.0のもくろみ : DSAS開発者の部屋
  • DBMによるデータベースサーバ - mixi engineer blog

    DSのスターフォックスというゲームにはまりまくりのmikioです。最近社内外で「俺ストレージサーバ」を作るのが流行っているようなので私も参戦してみました。今回はDBMのネットワーク層をほぼスクラッチで作った話をします。 Tokyo Tyrant Tokyo Tyrant(以下TT)はTokyo Cabinet(以下TC)をラップしてネットワーク越しに操作できるようにするツールです。キャビネット(内閣)を傀儡にするタイラント(僭主)ということで名付けました。ダウンロードはこちら。 TCは高性能なDBMで、マルチスレッドモデルで高い並列性を実現していますが、逆にマルチプロセスモデルだとファイルロックがかかるので並列性が低くなってしまいます。つまり、書き込みモードでデータベースにアクセスしているプロセスがいると、その間は他のプロセスがデータベースに接続しようとするとブロックされることになります。

    DBMによるデータベースサーバ - mixi engineer blog
  • 最近のmemcached界隈の賑わいについてのメモ : DSAS開発者の部屋

    repcachedの開発をしている関係で、昨年あたりからmemcached界隈のウォッチを強化しています。 昨日のエントリでもちょっと書いたんですが、なぜかここ最近、にわかにmemcached界隈が賑やかになってきている感があります。具体的には、memcached互換の実装がいろいろと現れたり、新しいクライアントライブラリが登場したりなど。 そんなわけで、最近わたしが気になっている、memcached関連のあのプロダクトやこのプロダクトをささっとまとめてみたいと思います。 クライアントライブラリ (C) libmemcached Brian Akerさんによる、C言語用のライブラリ。 既存のC言語用のライブラリである、libmemcacheとapr_memcacheに続く、第3のC言語用ライブラリです。 Consistent Hashingも実装しているようです。 いままでベンチマークプロ

    最近のmemcached界隈の賑わいについてのメモ : DSAS開発者の部屋
  • mixi Engineers’ Blog » memcachedのストレージ層をmodularにしてみた

    前回に続いてまたmemcachedの話をしたいと思います。今回は改造編です。 ハッシュデータベースサーバなどの実装でmemcachedライクなものを書くのも良いですが、以前からmemcached自体のストレージをmodularにできたら面白いかも?と思っていたので実験的にmemcachedを改造してみました(memcached-1.2.4がベース)。 とりあえず名前はmemcached modularの略でmmcmodと名づけて、mikioさんのTokyo Cabinetをストレージとして使うモジュール(厳密にいうと共有ライブラリ)を書きました。ソースコードは後日CodeReposの方に上げますがとりあえずこの記事で公開します。ちなみに新しいプロダクトを作る気はなくて、最終的にpatchを作ることが目的です。 で、話を続けると今回の改造を簡単にビジュアライズするとこんな感じです: 図のmm

    mixi Engineers’ Blog » memcachedのストレージ層をmodularにしてみた
  • Repcached

    repcachedについて repcachedとは、memcachedにデータのレプリケーション機能を追加実装したものです。 memcachedは、以下のようなところによく使われると思います。 一時的なデータの保存場所として キャッシュを保存する場所として RDBMSのデータのキャッシュ 生成したページデータのキャッシュ いずれの場合も消えていいデータなので、万が一memcachedがダウンしても問題はないはずです。 しかし、影響が全くないわけではありません。 例えば、MySQLのデータをmemcachedでキャッシュしている場合、memcachedがダウンしている間は直接MySQLにアクセスがいくことになりDBサーバの負荷が上がります。また、memcachedを再起動してキャッシュが失われた場合は、再びキャッシュが溜まるまではDBサーバに負荷がかかることになってしまいます。 このように

  • 1