SunのZFSなNASは、NFSで使うべし
手元のファイルサーバでパフォーマンステストしてみたら、面白い結果が出たのでご報告
SSDをキャッシュに使ってるZFSのせいなのか関係ないのか分からないがCIFSとNFSで読み込み時のパフォーマンスが全然違った
テスト環境
環境は、ストレージ側がアンバーロードで10Ge shareは500GBのZ2-raidで、SSDのリードジラが300GB付いてる。6コアのAMDが4ソケット付いてて、メモリーは100GB以上積んである。
クライアント側は、有線の1Geを使用したMacBook13inch 4GB Core2duo OSX10.6.2で、テストには内蔵ディスクは使ってない(/dev/null /dev/zero使用)けど、IntelSSDが入ってるのでボトルネックにはなりにくいし、プロトコルの違いでスピードの差は出ないと思う。
書き込み
ファイルをクライアントの/dev/zeroから4GB分書き込んでみた。
# CIFS 40MB/sec
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 105.163602 secs (40840816 bytes/sec)
#NFS 44MB/sec
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 96.290381 secs (44604323 bytes/sec)
10%くらいNFSの方が速いけど、まぁそんなに違わない。CPUの使用率もそれほど変わらなかった。
読み込み
# CIFS 48MB/sec
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 87.981415 secs (48816756 bytes/sec)
% NFS 91MB/sec
4096+0 records in
4096+0 records out
4294967296 bytes transferred in 46.795352 secs (91781921 bytes/sec)
読み込みのスピードはCIFSとNFSで全然違った。倍というと言いすぎだけどほぼ倍NFSの方が速い。体感的にもピューーといくかパッパーっと言う感じで違う。(違いがわかりずらいな)とにかく、はっきり分かるくらい違う。CPUの使用率は若干NFSの方が軽い感じだった。
今回はddコマンドでやったので、同期とか非同期とか関係ないはずだけどひょっとしたらCIFSの読み込みは何か面倒くさい事が起こってるかもしれない。(設定を変えれば速くなるかもしれない)少なくとも深く考えないで設定したパターンだとNFS使った方が読み込みは速いみたい。ZFSでは、share_afpが入ってないけどもし使えるようになったら、afpでもテストしてみたい。
OpenSolarisとかFreeBSDだと結果は違ったものになるのかもしれないが、アンバーロードでは少なくともNFSを使った方がいいみたい。