2008年12月19日金曜日

cacheの効果

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
1つ100k byteのエントリーを10k個つくって10k回set/getしてみた。


  • Memcacheはlocalhostで-m 2048(要は2GByteメモリを割り当てた)

  • pythonのtime.time()を使って測定。(なんか問題があったような気がする)



結果を見る限り、dictが早いの当然としてmemcacheとdiskの差だが、データセットがでかいのでswapしているが、memcacheはデーモン側で遅延書き込みが行われている分、diskをpythonからたたくdiskより、set関数の戻りが早いので速いといったところだろうか?

それからgetがすべての要素を1づつ順番になめているので、実際に起こるだろうアクセスの分布とはまったく異なる。その点にも留意しなければならない。なにか適当な分布関数を用意してlong tailになる局所性のあるアクセスを作り出さないとweb siteのキャッシュへの応用としてはだめだろう。

========== PerfDisk ==========
set: 0.00299947600365
get: 0.000581149601936
========== PerfMemcached ==========
set: 0.00100942788124
get: 0.000538439702988
========== PerfDict ==========
set: 6.94487094879e-06
get: 2.11861133575e-06

0 件のコメント: