タグ

パフォーマンスとmemcachedに関するmonjudohのブックマーク (3)

  • memcached活用は、格納オブジェクトの”粒度”がキモ

    最近じゃmemcachedを活用してデータベース(RDB)の負荷を下げるって話、そこらじゅうから聞こえてくるけれど、memcachedの活用は、格納オブジェクトの”粒度”(granularity)がキモだと思ってます。 memcachedは、KeyとDataをペアで格納して、Keyが与えられると、関連付けられたDataを返すだけのシンプルなシステム。PerlPHPの連想配列と同じ。このmemcachedをRDBのキャッシュとして活用してやる場合、memcachedに格納するキャッシュデータの単位、”粒度”をどう設計するかが重要になってくる。 RDBの場合、格納されるデータはRow(レコード)単位。じゃぁキャッシュもRow単位で作ってやればいいのかといえば、それではうまくいかないケースもたくさんある。RDBでは専用の問い合わせ言語であるSQLを使って、 SELECT * FROM hoge

    memcached活用は、格納オブジェクトの”粒度”がキモ
    monjudoh
    monjudoh 2008/12/02
    『データベースのrow単位でキャッシュを生成するな。より複雑なオブジェクトをキャッシュするほうがいい。(粒度を大きくしろ)』
  • mixi Engineers’ Blog » Tokyo Tyrantによる耐高負荷DBの構築

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

    mixi Engineers’ Blog » Tokyo Tyrantによる耐高負荷DBの構築
    monjudoh
    monjudoh 2008/05/08
    負荷地獄のログイン処理の話
  • Tugela Cacheを使ってみる : blog.nomadscafe.jp

    Tugela Cacheを使ってみる Tugela Cacheとは、MediaWikiの人がつくったMemcachedのストレージをBerkeleyDBに入れ替えたCache Serverです。 使っているとか聞いたことがないですし、情報もすくないです 特徴としては、 既に書いたけど、BDBにデータを保存 Cache切れの値を削除するプログラムが別にある Memcachedとプロトコル同じ あたりでしょうか インストールには、libeventとBDBのライブラリが必要です。 そんなに迷わないと思われます $ svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/tugelacache $ cd tugelacache $ make $ sudo cp tugela /usr/local/bin $ sudo cp tug

    monjudoh
    monjudoh 2007/09/05
    『Tugela Cacheとは、MediaWikiの人がつくったMemcachedのストレージをBerkeleyDBに入れ替えたCache Serverです。』大量のコンテンツをキャッシュさせるときに有効活用できないかな?
  • 1