We’re getting things ready Loading your experience… This won’t take long.
米オラクルが主催するMySQLのイベント「MySQL Connect」が9月21日から23日まで、サンフランシスコで開催されました。Oracle OpenWorld、JavaOneとの同時開催でした。 基調講演の1つには、MySQLのヘビーユーザーであるFacebookのHarrison Fisk氏が登壇。FacebookにおけるMySQLの役割、大規模運用の背景などを紹介しています。その内容をダイジェストで紹介しましょう。 MySQL@Facebook Lots and lots of small data Harrison Fisk氏。 Facebookでデータパフォーマンスチームのマネージャをしている。社内ではMySQLはもちろん、HBase Hadoopなどにも関わっている。 まずは、どんな種類のデータをMySQLで扱っているのかについて。 Facebookとは基本的にグラフだ。グ
まだ試してないけどblog書く。 memcached 1.4.8-rc1がでていますが、touch という新しいコマンドがが追加されています。アスキープロトコル、バイナリプロトコル両方とも使えます。 http://code.google.com/p/memcached/wiki/ReleaseNotes148rc1 touch コマンドは、有効期限をアップデートできる命令で、アスキープロトコルの場合 > touch <key> <exptime> [noreply]\r\n と使えるようです。データを変更せずにexpiresをアップデートしたい場合に使えるようです。 レスポンスは、有効期限が更新できた場合 TOUCHED\r\n キーがなかった場合 NOT_FOUND\r\n です。 そういえば、existsコマンドが欲しいとか聞いたことありますね。 もうひとつ、1.4.8にはさんざん悩ま
AWS Week in Review – AWS Documentation Updates, Amazon EventBridge is Faster, and More – May 22, 2023 Here are your AWS updates from the previous 7 days. Last week I was in Turin, Italy for CloudConf, a conference I’ve had the pleasure to participate in for the last 10 years. AWS Hero Anahit Pogosova was also there sharing a few serverless tips in front of a full house. Here’s a picture I […] Amaz
こちらとこちらのエントリーの続き memcached 1.4.6でmixiの障害の原因となったaccept_new_connsがスレッドセーフじゃない件は修正されているはずだったのですが、検証したところ別のスレッド競合による不具合が発生し、Bugは全て解消されてはいませんでした。 この件についてmixiたんぽぽGの森本さんと調査していたところ、memcachedのcommiterにtwitter上で補足され、つたない英語で報告をあげていたら1.4.7-rc1で修正されたのでその報告。 memcached 1.4.6での不具合再現方法 まず、1.4.6で不具合を再現させる方法について。mixiのエンジニアブログと同じように、memcachedは次のオプションで起動し、 $ ./memcached -U 0 -u nobody -p 11222 -t 4 -m 16000 -C -c 1000
以前、ここに書いていた、memcachedのincrがスレッドセーフではなく、番号がズレることがある件が 1.4.6 で修正されたようなので検証してみた。 memcached-1.4.6のダウンロードは、memcached.org から リリースノート http://code.google.com/p/memcached/wiki/ReleaseNotes146 検証に使うscriptは以下。 use Cache::Memcached::Fast; use Parallel::ForkManager; my $i=0; while(1) { $i++; my $memcached = Cache::Memcached::Fast->new({ servers => [ { address => "localhost:11211", noreply => 0 } ] , compress_t
はじめに アクセスが急増すると、応答時間が著しく悪化するサイトはありませんか? 普段は200ミリ秒以内で安定してアクセスをさばいているのに、イベントやらキャンペーンやらを開始した瞬間から、普段の2倍や3倍のアクセスが殺到し、その結果、レスポンスタイムが3秒とか9秒とかかかるようになってしまうことってありますよね。 あるサイトの実状 つい先日まで、そんなサイトが私の目の前にもありました。自社で運営している某ソーシャル系のサイトなんですが、イベント開始時刻と同時にアクセス数が急増するのです。とはいえ、所詮は普段の2倍とか3倍程度の数なのだから、少なくとも1秒以内にレスポンスを返せるくらいの性能は維持したいものです。 しかし実際は困ったことに、応答に3秒以上もかかってしまう処理が大量に発生してしまう状況に陥ってしまっていました。これはきっと、どこかにボトルネックがあるに違いありません。 仮説を立
リレーショナルデータベースはNoSQLを取り込み始めた。NewSQLの登場とNoSQLの終わり、という予想 MySQLの次期バージョンとPostgreSQLの次期バージョンにどのような新機能が追加されるのか、昨日、一昨日の2本の記事で紹介しました。 MySQLの次期バージョンはMemcached APIを備える! MySQL Conference & Expo 2011基調講演 PostgreSQLの現状と次期バージョン9.1の新機能。MySQL Conference & Expo 2011 この2つのデータベースの次期バージョンに共通しているのが、NoSQLの機能を取り込んでいることです。NoSQLに対するリレーショナルデータベースによる反撃が始まっています。 リレーショナルデータベースがNoSQLを取り込み始めた MySQLの次期バージョンであるMySQL 5.6に搭載予定の新機能の1
モバゲーで知られるDeNAは、バックエンドデータベースにNoSQLを使っていません。なぜか? それはMySQL/InnoDB 5.1の環境で秒間75万クエリという、多くのNoSQLでも実現できないような高性能を実現しているから。DeNAの松信嘉範(まつのぶよしのり)氏は、自身のブログにこんな内容のエントリ「Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server」(英語)をボストしています。 Yoshinori Matsunobu's blog: Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server 松信氏が指摘するように、大規模なネットサービスを提供している企業の多くは分散環境で
例の件以来、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
こんにちは。システム本部技術部たんぽぽGの森本です 補足を追記しました (2010/08/20 15時) 先日のmixi大規模障害についての続報です 今回は小ネタはありません はじめに まず初めにtwitter/blogなどを通じて今回の問題の解析を行っていただいたみなさんに感謝の言葉を捧げたいと思います kzk_moverさん stanakaさん mala(bulkneets)さん llameradaさん (順不同) ありがとうございました 書き漏らした人ごめんなさい memcachedはすごい 今回の件でmemcachedに対して不安感を持たれた方もおられるとお聞きしました 説明不足だったせいで誤解を与えてしまい申し訳ありません きちんと設定および監視を行っていれば通常の使用にはまったく問題はありません 弊社にて -c 30万で起動したmemcachedに対して、先のテストスクリプトに
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
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
クラウドのように大規模なシステムでは、ソフトウェアの開発と同等以上に、大規模運用の巧拙が、システム全体の成功を大きく左右します。 6月22日から、米サンタクララで行われていたWebサイトのパフォーマンスと運用に関するオライリーのイベント「Velocity 2010」で、FacebookのTechnical Operations teamを担当するTom Cook氏が「A Day in the Life of Facebook Operations」(Facebook運用のある1日)と題したセッションで、Facebookがふだんどのような運用を行っているか、紹介しています。 世界でトップクラスの大規模サイトが、普段どのようなツールを用い、どのような方法で運用しているのか、セッションの内容を紹介しましょう。 6年で4億アクティブユーザー、3カ所のデータセンター Tom Cook氏。Facebo
携帯向けサイト「モバゲータウン」の勢いが止まらない。2010年3月の会員数は約1800万人、月間ページビュー(PV)600億という"モンスターSNS"に成長している。意外なことに、これだけのアクセスをさばくのに、memcachedをはじめとするKVS(Key-Value Store)系のインフラ・ソフトはあまり使っておらず、MySQLで十分だという。モバゲータウンのインフラ担当者に話を聞いた。 モバゲータウンを運営するDeNA(ディー・エヌ・エー)は、もともと1999年に開始したオークションサイト「ビッダーズ」で知られている。その後、オークションに加えてECサイトを開始し、auとの提携により「auショッピングモール」などで急速に成長した。 ビッダーズだけでも、数千万PV規模の大規模サービスだが、最近はモバゲータウンの成長が著しい。 「特に2009年9月から順次リリースした自社製のソーシャル
McMonはPHP製のオープンソース・ソフトウェア。多数のレスポンスに耐えられるサービスを構築する上でKVS(キーバリューストア)の存在は欠かせなくなっている。その中で最も有名なものと言えばmemcachedだろう。それだけにそのステータスの監視は重要になる。 PHPで作られている memcachedはシンプルなシステムだけに管理インタフェースも自分たちで作らなければならない。もしWebブラウザベースで確認できる管理インタフェースが欲しければMcMonを使ってみよう。McMonはPHPで作られたmemcached管理ツールだ。 利用に際してPHP用のmemcached拡張をインストールする必要がある。そのためレンタルサーバレベルでの利用は難しそうだ。memcachedのバージョンや起動時間、データ量、ヒット数や実行されたコマンドの数などが一覧になって表示される。 設定ファイルの中で複数のサ
今まで簡単に触れてきたmemcachedのCAS(Compare and Swap)機能ですが、今回はその具体的な使用例や、プロトコルの違いによる特徴を紹介します。また、mixiでの今後のmemcached運用動向を紹介します。 CASの概要 memcachedには特定のデータに対してアトミックな更新を試みる機能が存在します。この機能の仕組みは単純で、クライアントは特定のコマンド(テキストプロトコルの場合は“gets”)を実行することにより、サーバから特定のレコードとその状態を表すユニークな識別子を与えられます。 この識別子はレコードが何らかの手段によって更新されると変更され、クライアントが保持している識別子とは別の値になります。したがって、クライアントは与えられた識別子を更新命令と一緒に送信することで、サーバはレコードをアトミックに更新できるかを確認することができます。もし識別子が
株式会社ミクシィ 開発部 システム運用グループの長野です。普段はミクシィのアプリケーション運用を担当しております。今回から数回にわたり、最近Webアプリケーションのスケーラビリティの分野で話題になっているmemcachedについて、弊社開発部 研究開発グループの前坂とともに、使い方や内部構造、運用について解説させて頂きます。 memcachedとは memcachedは、LiveJournalを運営していたDanga Interactive社で、Brad Fitzpatrick氏が中心となって開発されたソフトウェアです。現在ではmixiやはてな、Facebook、Vox、LiveJournalなど、さまざまなサービスでWebアプリケーションのスケーラビリティを向上させる重要な要素になっています。 多くのWebアプリケーションは、RDBMSにデータを格納し、アプリケーションサーバでそのデータ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く