2010年4月3日土曜日

ZFS Intent log(1)


このエントリーをはてなブックマークに追加


ZFS Intent Log(ZIL) とはZFSにおける、同期書き込みのパフォーマンスを向上する仕組み(らしい)
このON/OFFによるパフォーマンスと書き込みの信頼性について違いを検証してみる。

ZFS Intent Log の詳細についてはこちら


ZILのON/OFFは /etc/system に set zfs:zil_disable=1 を追記してリブートで可能。

Solaris(ZFS/NFS Server) ← Solaris(NFS Client) での書き込みを行い以下のパラメータパターンで比較する。

パターン1:ZIL on、NFS forcedirectio off
パターン2:ZIL on、NFS forcedirectio on
パターン3:ZIL off、NFS forcedirectio off
パターン4:ZIL off、NFS forcedirectio on

○検証1:書き込みベンチマークによるパフォーマンス測定

ベンチマークにはNFSクライアント側からvdbenchを用いる。


●検証結果1
パターン1: sequential write 5.13MB/s random write 0.32MB/s 
パターン2: sequential write 3.39MB/s random write 0.32MB/s
パターン3: sequential write 8.42MB/s random write 0.32MB/s
パターン4: sequential write 6.90MB/s random write 0.30MB/s
 *あまり数値がよくないのはNFSサーバにはVirtualBox内のSolaris10(10/09)を使用したため。

使用したvdbench スクリプト
----------------------------------------
fsd=fsd1,anchor=/mnt/nfs01/,files=10,sizes=1g
fsd=fsd2,anchor=/mnt/nfs02/,files=10,sizes=1g
fwd=fwd1,fsd=fsd1,fileio=sequential,stopafter=1000,fileselect=sequential,xfersizes=8k,operation=write,threads=8
fwd=fwd2,fsd=fsd1,fileio=random,stopafter=1000,fileselect=sequential,xfersizes=8k,operation=write,threads=8
fwd=fwd3,fsd=fsd2,fileio=sequential,stopafter=1000,fileselect=sequential,xfersizes=8k,operation=write,threads=8
fwd=fwd4,fsd=fsd2,fileio=random,stopafter=1000,fileselect=sequential,xfersizes=8k,operation=write,threads=8
rd=rd1,fwd=fwd1,fwdrate=max,elapsed=300,interval=10,format=no
rd=rd2,fwd=fwd2,fwdrate=max,elapsed=300,interval=10,format=no
rd=rd3,fwd=fwd3,fwdrate=max,elapsed=300,interval=10,format=no
rd=rd4,fwd=fwd4,fwdrate=max,elapsed=300,interval=10,format=no
----------------------------------------

ZILのON/OFFによりシーケンシャルなアクセスについては改善がみられたが、
ランダムについてはあまり改善しなかった。

同期書き込みを行いたくてforcedirectioを指定したが、実はそうではないのかも??
Linuxのsyncオプションと同じ感覚で使ってしまったが、ここはもう少し調査が必要。

次回はZILのON/OFFによるファイルシステムの安全性について検証を行うことにする。

0 件のコメント:

コメントを投稿