各サーバのスペックは
- 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)
サーバのローカルディスクを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`;doneaaaaaaaaの部分はクライアント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 件のコメント:
コメントを投稿