FITC Toronto 2009 day 1,2
Some thoughts, memo of inspirations I got in these 2 days.
And also, thanks for the guys who came to our presentation.
### BEAUTIFUL ALGORITHMS: DESIGN FROM NATURE AND MATHEMATICS
ALEC COVE
WWW.COVE.ORG
人には効率よいことを美しいと感じる性質がある
keywords I got: “l-systems”, “reaction diffusion”, “harmonograph”, “buddhabrot”
### THE TINKERER’S BOX
MARIO KLINGEMANN
WWW.QUASIMONDO.COM
keywords “Stippling”
Mario looked very FUN!
When he was saying something like: “I can continue this for like,, […]
yokohama.pm 4回目行ってきた&DI
いいまとめはこちら
http://d.hatena.ne.jp/hiratara/20090417/1239946298
DIがよくわからなかったなぁ
Bread::Boardの感じだと結局コンストラクタに引数与えるのを書き方かえるだけに見えるけど
外部のxmlファイルに記述したくない、って牧さんは言ってたけど、
フォーマットがxmlかどうかは別として、javaをちょいちょい使ってる時の認識では、
別ファイルであることがDIの本質なんじゃないのかなぁと思っていた。
javaはコンパイルの必要な言語で、
xmlを変えてもリコンパイルが必要無い、
ってメリットがjavaではある
使うときにオブジェクトを渡して、使う側ではインターフェースしか使ってない、
こういうのもDIっていうかな
これをいい感じに書けるのがBread::Boardなのかな
PLAIN TEXT
PERL:
package A;
use Moose;
has cache => ( isa => 'Cache::Cache', is => 'rw', required => 1, default => sub { new Cache::FileCache } );
sub fetch_something {
my ($self, $key) = @_;
my $ret = $self->cache->get($key);
if ( ! defined($ret) ) {
$ret = fetch($key);
$self->cache->set( $key, [...]
preventing cache stampedes
webサイトとかで、重いSQLを使ったページを快適に表示するために、重いSQLの結果をキャッシュするためにmemcachedとかをよく使います。
キャッシュの有効期限が切れた後に、大量のリクエストに対応して大量の重いSQLが走ると困るので、どうしよう。
これをthundering herd 問題といったり、cache stampede, database stampedeというそうです。
キャッシュ切れた後にががっとくるやつ、です。
A. キャッシュの有効期限が切れる
B. SQL発行
C. SQLの結果を受け取る
D. キャッシュにつっこむ
A-D.の間に大量のリクエストが来ると、重いSQLが走るので困ります。
Kazuhookuさんが書いています。
キャッシュシステムの Thundering Herd 問題
対策としては、以下の2種類の手段があります。
* バックエンドへの同一リクエストを束ねるような仕組みを実装する
* エクスパイヤ以前の残存時間が一定以下となった段階で、キャッシュエントリのアップデートを開始する
昨日memcachedの勉強をしている時のFAQの資料にもいろいろ書いてあったのですが、
いくつか対策方法があるようです。
How to prevent clobbering updates, stampeding requests
The easiest answer is to avoid the problem. Don't set caches to expire, and update them via cron, or as data is updated. This does not eliminate [...]
memcachedのメモリ確保について
実戦で使ってるmemcachedがいっぱいになってきてるっぽいので勉強中
自分の理解を整理する。
memcached-toolでstatsを見る。
1MB_pagesはその1MB単位がいくつあるか
[homepage@www scripts]$ ./memcached-tool *.*.*.*:11211
# Item_Size Max_age 1MB_pages Count Full?
2 136 B 443801 s 22 169620 yes
3 176 B 550195 s [...]