タグ

memcachedに関するcknbstrのブックマーク (6)

  • memcachedを使ったPHPのシングルトン実装 - 徒然なるままにBlog

    PHPのクラスに備わっているstaticはJava(Servlet)のそれとは違いHTTPのリクエストが完了すると破棄されてしまいます。 そのためstaticフィールドを使ったシングルトンの実装を行ったとしてもリクエストがある度にインスタンスが生成され独立したプロセスから同一のインスタンスにアクセスすることは不可能です。 そこで今回memcachedを利用しPHPの各プロセスから同一のインスタンスを参照できるようにしてみたいと思います。 といってもシリアライズさせているので厳密には別のインスタンスになりますが…。 ちなみにmemcachedとはオブジェクトをメモリにキャッシュさせるPHPとは独立したサーバプログラムです。 利用できる言語はPHPだけに限らずPerlRubyJavaPythonなどにも対応しています。 インストールは./configure && make &

  • Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server

    UPDATE: Oracle officially released memcached daemon plugin that talks with InnoDB. I'm glad to see that NoSQL+MySQL has become an official solution. It's still preview release but will be very promising. Let's try it to make it better! Most of high scale web applications use MySQL + memcached. Many of them use also NoSQL like TokyoCabinet/Tyrant. In some cases people have dropped MySQL and have sh

    Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server
  • 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
  • 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
  • 第2回 memcachedのメモリストレージを理解する | gihyo.jp

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

    第2回 memcachedのメモリストレージを理解する | gihyo.jp
  • Repcached

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

  • 1