システム運用グループの長野です。普段はミクシィのアプリケーション運用を担当しております。研究開発グループの前坂とともに,使い方や内部構造,運用について解説させて頂きます。Fitzpatrick氏が中心となって開発されたソフトウェアです。現在ではmixiやはてな,Facebook,Vox,LiveJournalなど,さまざまなサービスでWebアプリケーションのスケーラビリティを向上させる重要な要素になっています。多くのWebアプリケーションは,RDBMSにデータを格納し,アプリケーションサーバでそのデータを引き出してブラウザ等に表示させています。データが大量になったり,アクセスが集中すると,RDBMSの負荷があがり,データベースのレスポンスが悪化し,Webサイトの表示が遅延するなど大きな影響がでてしまいます。そこでmemcachedが活躍します。memcachedは高性能な分散メモリキャッシュサーバです。通常,データベースへの問い合わせ結果を一時的にキャッシュすることで,データベースへのアクセス回数を減らし,動的なウェブアプリケーションの高速化やスケーラビリティの向上のために利用されています。memcachedの一般的な利用memcachedの特徴memcachedは非常に高速に動作する分散キャッシュサーバですが,特徴としては以下のような点が上げられます。シンプルなプロトコルlibeventによるイベントハンドリング内蔵のオンメモリストレージmemcached同士での通信は行わない分散方式シンプルなプロトコルmemcachedのサーバとクライアントの通信は,XMLなどの複雑なフォーマットは利用せず,シンプルな行ベースのプロトコルによって行われます。行ベースのプロトコルなのでtelnetでmemcachedにデータを保存して,保存したデータを取得することもできます。(データ)プロトコルについてのドキュメントはmemcachedのソースコード内にあります。以下のURLでも参照することができます。http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txtlibeventによるイベントハンドリングlibeventとは,Linuxではepoll,BSD系のOSではkqueueなどのイベントハンドリング機能をラップして,サーバに対するコネクション数の増加に対してもO(1)のパフォーマンスを発揮する共通仕様で利用できるようにしたライブラリになります。memcachedはこのlibevetのライブラリを利用しているので、高いパフォーマンスをLinux,BSD,SolarisなどのOS上で発揮することができます。Problemが参考になります。Problemhttp://www.kegel.com/c10k.html内蔵のオンメモリストレージmemcachedに保存したデータは,パフォーマンスを向上させるように設計されたmemcached内蔵のメモリストレージに貯められます。データはすべてメモリ上にのみ存在するので,memcachedを再起動したり,OSを再起動するとすべてのデータが消えることになります。Used)に基づいて利用されないキャッシュから自動的に削除されていきます。memcached自体キャッシュのためのサーバとして設計されているので,データの永続化についてはあまり考慮されていません。メモリストレージについての詳しい情報はこの連載の2回目以降に前坂が書きますので、そちらを参考にして頂ければと思います。memcached同士での通信は行わない分散方式memcachedは「分散」キャッシュサーバですが,分散に関しての機能はサーバ側には備わっていません。memcached同士で通信を行って情報をシェアすることはありません。どのようにして分散を行うかというと,すべてクライアント側の実装に依存するようになっています。memcachedの分散についてはこの連載の中で取り扱っていく予定です。アプリケーション運用チーム所属。mixiのアプリケーション運用に携わっています。2008でもmemcachedに関する発表を行いました。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。