Facebookで投稿や写真などをチェックできます。
Distributed Object Storage Made Easy! Use commodity hardware/software to build your own scalable object storage! Learn more » What is STF? STF is a simple, yet very scalable distribute storage system. STF powers sites like livedoor Blog, loctouch and many more, serving gigabytes after gigabytes of data. On one such system, it's serving 400Mbps of image at peak hours without a hitch. GET STF! STF i
なんでもありのWebアプリケーション高速化バトル、#isucon に会社の同僚 @Songmu @sugyan と3人で、fujiwara組として参戦してきました。結果、幸いにも優勝を勝ち取ることが出来ました。 こんなに楽しいイベントを企画、運営していただいた Livedoor の皆様、本当にありがとうございます!! さて、ざっとチューニングした経過などを記録しておきます。 [追記] もっと詳しいレポートを @Songmu が上げているのでそちらもご覧ください おそらくはそれさえも平凡な日々: #isucon で優勝させてもらってきました [さらに追記] #isucon ではどんなことを考えながら作業していたか - 酒日記 はてな支店 自分でももう少し詳しく振り返りエントリ書きました。 まず説明を聞いて、環境を作るところから。IPアドレスでは作業がしにくいし事故も起こりそうなので、host
ISUCONに行ってきました。社内での事前βテストに参加して問題を知っていたので出場はせず。社内β参加を持ちかけられたときは、正直「めんどくせーなw」が素直な感想だったんですが、実際にやってみるとスコアがリアルタイムにわかる&ちょっとずつ自分のスコアが上がっていくってのは楽しくて、わりと本気でチューニングしてしまいました。 さて、本戦でも14時頃からお遊び用としてサーバー一式が解放されたので、大人げも無くそこで112500req/minをたたき出して参加者のやる気を削いだ(・・と懇親会で言われました。色々すいません!)構成について。 reverse proxy nginx(1.0.5) ngx_http_memcached + ngx_http_ssi_filter + ngx_http_scgi + ngx_http_upstream_keepalive(3rd party plugin
#!/usr/bin/env perl use strict; use warnings; use Benchmark qw(:all); use Cache::Memcached::Fast; my $mf = Cache::Memcached::Fast->new( { servers => ['127.0.0.1:2010'] } ); my $mfm = Cache::Memcached::Fast->new( { servers => ['127.0.0.1:11211'] } ); my @keys = map { 'x' . rand } 0 .. 10000; my $n = 100; cmpthese( $n => +{ 'KT(memcached) set' => sub { $mf->set( $_ => rand ) for @keys; }, 'Memcached
クライアントからmemcachedを利用する際の、ベストプラクティスは以前書いているので、その前段階でmemcachedを含めたWebアプリケーションのアーキテクチャ(と一部クライアントの話)について今の個人的な考えをまとめてみます。Kyoto Tycoonを使ったキャッシュサーバでも基本は同じだと思います 1) 使わない memcachedをアプリケーションに組み込むことで、プログラムがどうしても複雑になりがちです。データの削除や更新の際にキャッシュの更新を忘れると多くの問題が発生します。例えばユーザがニックネームやプロフィール写真を更新したのに画面上変わらないなどの現象が起こると、ユーザに対して不快な思いをさせてしまうでしょう。またデータベースが非同期のレプリケーションを行っている場合、masterに対してデータの変更をかけ、更新が反映される前にslaveから読み込んでしまい、キャッシ
当然のごとくmemcachedが最速だろう。。。と思いきや、そうでもない結果に。むしろ一番遅い結果に。なんだこれーーーと思って調べ続けていたのですが、バインディングのgemのコードを追いかけるかぎり、どうもこれはmemcache-clientの実装が原因のよう。 これは、memcache-clientの実装はpure-rubyで実装されているのに対して、TokyoCabinet/TokyoTyrantのバインディングの実装はnativeコードで実装されてあるのが原因のようです。事実、TokyoTyrantはmemcacheプロトコルを実装しているので、memcache-clientを利用してTokyoTyrantにアクセスすると両者はこんな結果になりました。 user system total real
Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at
当ブログをご覧の皆様こんにちは。さくらインターネット研究所の大久保です。 ご存知の方も多いと思いますが、先日、分散KVSの一つであるkumofsが、バージョン0.4.0にてCAS操作をサポートされたそうです。以下は開発者である古橋さんの日記のURLです。 ▽ kumofs-0.4.0リリース - CAS操作をサポート http://d.hatena.ne.jp/viver/20100514/p1 今回は突然ですが、番外編としてCAS操作について取り上げたいと思います。 CAS操作とは?CASは”Check and Set”の略で、KVS上でトランザクション処理を行うために必要なものです。それ自体少々複雑ですので、以前当ブログにてmemcachedプロトコルの紹介をした際には、CAS操作のコマンド説明は省いておりました。なお、これまでとりあげてきたFlareでは、CAS操作は既にサポートされ
Membaseを入れてみたので、実際にどれくらいの速度が出るのか試してみました。 memcached vs TokyoCabinet vs TokyoTyrant vs Redis - blog.katsuma.tv この記事のパクリですね。これにMembaseを加えてみた感じです。 クライアントによって速度が変わるのが嫌だったので、すべてPythonのmemcachedクライアントを使って、1万回setを行いその時間を計測してみました。 Membase 1.18884205818 memcached 0.683738946915 TokyoTyrant 0.788640022278 Redis 0.642278909683 思ったよりMembaseが遅い…。って言うかRedis速い。 まとめ 使おう!Redis!APIも豊富だし、レプリケーションとかも簡単らしいよ! ちなみに今回計測に使
Whether you’re new to Couchbase or a longtime user, our Community Team and thousands of developers are here to accompany you on your Couchbase journey! Join the Couchbase community Explore all the ways you can connect, learn, and share with other developers. Let’s talk Couchbase Exchange ideas in real time, connect with fellow Couchbasers, and most importantly share cat photos!
I guess most people don't know this, but I'm the only member of the technical team in NorthScale located in Europe. I live just outside Trondheim in Norway, so it's pretty far from everything. So why did I join NorthScale? A lot of my friends in Trondheim have been asking me that question. To them it sounds strange that I want to work from home for a company located 9 timezones away. I've known Du
こんにちは、システム本部技術部たんぽぽ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に対して、先のテストスクリプトに
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く