タグ

memcachedに関するs-edyのブックマーク (9)

  • mixi大規模障害について 解明編 - mixi engineer blog

    こんにちは、システム技術部たんぽぽ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

    mixi大規模障害について 解明編 - mixi engineer blog
  • 第2回 memcachedのメモリストレージを理解する | gihyo.jp

    株式会社ミクシィ 研究開発グループの前坂です。前回の記事でmemcachedは分散に長けた高速なキャッシュサーバであることが紹介されました。今回はmemcachedの内部構造がどう実装されているのか、そしてメモリがどう管理されているのかをご紹介します。また、memcachedの内部構造の事情による弱点も紹介します。 メモリを整理して再利用するSlab Allocationメカニズム 昨今のmemcachedはデフォルトでSlab Allocatorというメカニズムを使ってメモリの確保・管理を行っています。このメカニズムが登場する以前のメモリ確保の戦略は、単純にすべてのレコードに対してmallocとfreeを行うといったものでした。しがしながら、このアプローチではメモリにフラグメンテーション(断片化)を発生させてしまい、OSのメモリマネージャに負荷をかけ、最悪の場合だとmemcachedのプ

    第2回 memcachedのメモリストレージを理解する | gihyo.jp
  • ConsistentHashing - コンシステント・ハッシュ法

    ConsistentHashing - コンシステント・ハッシュ法 目次 この文書について コンシステント・ハッシュ法 実例 実装 用途 コンシステント・ハッシュ法 この文書について "Tom White's Blog: Consistent Hashing" の日語訳です. http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... 原文のライセンス: http://creativecommons.org/licenses/by-nc-sa/2.0/ 私は今までに何度かコンシステント・ハッシュ法にとりくんだことがある。 このアイデアをあらわした論文 ( David Karger らによる Consistent Hashing and R

  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • memcached-1.4 RCをつかってみよう - mixi engineer blog

    数日前にmemcached-1.4のリリース候補が出ましたので、今日はその最新版と、それを使ったメモリ節約の運用法を紹介します。厳密にいうと、ご紹介させていただくmemcachedのメモリ節約機能は1.3のbetaから存在し、過去にこちらで取り上げました。 memcached-1.4.0-rc1 1.4 RCは基的に1.3.* betaで発見・報告されたバグの修正やコードベースの改修が主な内容です。詳しいリリースノートはこちらになります。 http://code.google.com/p/memcached/wiki/ReleaseNotes140rc1 ダウンロードはこちらです。 http://code.google.com/p/memcached/downloads/list 新しいバージョンのmemcachedはバイナリプロトコルの導入以外に地味に生まれ変わっています。例えばコード

    memcached-1.4 RCをつかってみよう - mixi engineer blog
  • memcache-top - Google Code

    Code Archive Skip to content Google About Google Privacy Terms

  • 第5回 memcachedの運用と互換アプリケーション | gihyo.jp

    株式会社ミクシィの長野です。memcachedの連載も今回が最終回になります。前回までmemcachedに直接関連する話題を中心に書いてきましたが、今回はmixiでの事例や運用に関する話題、memcachedの互換アプリケーションについて紹介します。 mixiでの事例 mixiではサービスの初期の頃からmemcachedを利用していました。memcachedはサイトへのアクセスの増加が、データベースのスレーブを増やしていく方法では追いつかないほど急激にのびていく中で導入して行きました。加えてスケーラビリティを向上させていく手段として検証を行い、十分な速度と安定性があることが確認できたことも導入の理由になります。現在ではmemcachedはmixiのサービスを提供していく中で非常に重要なコンポーネントとなっています。 図1 現在のシステムコンポーネント サーバ構成と台数 mixiではデータベ

    第5回 memcachedの運用と互換アプリケーション | gihyo.jp
  • memcached+PostgreSQLで実現するハイパフォーマンスWebアプリケーション構築(1/4) ― @IT

    稿の前提環境 memcached 1.2.5 データベース:PostgreSQL 8.3.1 OS:CentOS 5(Linux kernel 2.6 ) シェル:bash CPU:Intel Core2Quad 9660 2.4GHz RAM:PC2-6400 8GBytes memcachedは、Danga Interactiveによって開発されたオープンソースのメモリキャッシュサーバです。 メモリ上にデータを保存するのでmemcachedを終了するとデータが失われますが、(OracleMySQLといった)RDBMSと比較するとけた違いの高速レスポンス性能を有し、数千万件という大量のデータを扱ってもほとんど性能が劣化しないという特徴があります。 機能は限界まで切り詰められ、基的にはキーとデータの組(以下、itemと呼びます)の保存と検索と削除しかできません。 にもかかわらず、me

    memcached+PostgreSQLで実現するハイパフォーマンスWebアプリケーション構築(1/4) ― @IT
    s-edy
    s-edy 2008/07/31
    実際の利用方法、基礎編
  • mixi Engineers’ Blog » Tokyo Tyrantによる耐高負荷DBの構築

    連休中はWiiのマリオカートをやりまくってやっとVR7000越えたmikioです。愛車はマッハ・バイクとインターセプターです。さて今回は、分散ハッシュデータベースサーバTokyo Tyrantでmixiの最終ログイン時刻を管理するようにした時の苦労話を書きます。 ログイン処理は負荷地獄 mixiでは、全てのユーザについて、各々の最終ログイン時刻を管理しています。「マイミクシィ一覧」や「お気に入り」などの画面で、友人が近い時間にログインしていてコミュニケーションがとりやすい状態にあるかどうか確認できるようにするためです。 mixiのほぼ全てのページはログインしないと見られないページなので、ほぼ全てのページにアクセスされるたびにログイン確認が行われます。したがって、最終ログイン時刻はほぼ全てのページにアクセスされる度に更新されることになります。mixiの中で最も重いデータベースのひとつとして「

    mixi Engineers’ Blog » Tokyo Tyrantによる耐高負荷DBの構築
    s-edy
    s-edy 2008/05/08
    TokyoTyrantを利用したmemcacheに変わる負荷対策
  • 1