2012-08-24

GlusterFSとnfsを比較実験してみた

AWS上でサーバ1台とクライアント3台という構成で実験してみました
各サーバのスペックは
  • nfs,GlusterFSサーバ:t1.micro(ap-northeast-1a)
  • クライアント1:m1.small(ap-northeast-1b)
  • クライアント2:m1.small(ap-northeast-1a)
  • クライアント3:c1.medium(ap-northeast-1a)
という感じでクライアント1だけ別のAvailability Zoneで立てています
サーバのローカルディスクをGlusterFSとnfsそれぞれでマウントしてパフォーマンスと整合性について実験してみます
クライアント1~3でaaaaaaaa,試行回数を同じファイルに60秒間出力するようなコマンドを実行します
start=`date "+%s"`;i=1;while true; do echo aaaaaaaa,$i >> /gfs/test.log ;now=`date "+%s"`;if [ `expr $now - $start` -gt 60 ];then break;fi;i=`expr $i + 1`;done
aaaaaaaaの部分はクライアント1ではa,2ではb,3ではcと置き換えて実行しました
出力先の/gfsはGlusterFSでマウント
/nfsはnfsでマウントした領域です
結果は
GlusterFSでマウントした方は
$ wc -l /gfs/test.log
15841 /gfs/test.log
$ tac /gfs/test.log | grep aaa -m 1
aaaaaaaa,7639
$ tac /gfs/test.log | grep bbb -m 1
bbbbbbbb,4171
$ tac /gfs/test.log | grep ccc -m 1
cccccccc,4031
となり、15841=7639+4171+4031と整合性が保たれているようです
nfsマウントした方は
$ wc -l /nfs/test.log
5461 /nfs/test.log
$ tac /nfs/test.log | grep aaa -m 1
aaaaaaaa,2504
$ tac /nfs/test.log | grep bbb -m 1
bbbbbbbb,1678
$ tac /nfs/test.log | grep ccc -m 1
cccccccc,2484
となり、5461≠2504+1678+2484=6666となりファイルに不整合がでています
パフォーマンスも1/3ぐらいしかでませんでした

0 件のコメント:

コメントを投稿