[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:02935] Re:NFS performance



宮田です。

鴨志田さん、あらきさんからの

>rsize=8192,wsize=8192をつかえばいいのかな。

>nfs(5)より、
>
> tcp                  Mount the NFS filesystem using the TCP pro-
>                      tocol  instead of the default UDP protocol.
>                      Many NFS severs only support UDP.

あたりを試してみました。どうもありがとうございました。

まず tcp は
  "NFS over TCP is not supported."
ということらしいです。

rsize=8192,wsize=8192 は、
これでだいぶ早くなりました。他の値も試しましたが、これが一番早かったです。
しかしまだまだ体感的に「遅い」と感じるくらい遅いです。
(それでも普通のファイルコピーでnfs-writeパケットの数が異常に多かったのは
  解消されたようでした)

実はもう一つNFSがらみで問題があったのですが、(^^;
これも関連がありそうなので。
NISで作ったユーザにNFSマウントのhomeを与えて使った時に、
logout時になぜかNFSのwriteパケットが100個くらい流れます。
そのたびに5秒くらい待たされるので気持ち悪いのです。

それから、NFS-HOWTOに以下のような記述があったので気になっています。

----------------------------( FAQのあたり )------------------------------
  9. Linux の NFS クライアントから Sun や BSD のシステムに書き込むと非常
     に遅いのですが。

     NFS の書き込みは通常同期的に行われます(もしデータを失う危険性を気
     にしなければこれを無効にすることもできます)。悪いことに、BSD から
     由来したカーネルにおいては、小さなブロックにおいてこれがうまく機能
     しない場合があるのです。例えば Linux から 4K のデータを 1K のパケッ
     トに分けて書き込もうとすると、 BSD は以下のような動作を行います。

                read 4K page
                alter 1K
                write 4K back to physical disk
                read 4K page
                alter 1K
                write 4K page back to physical disk
                etc..

     まともなシステムではこの問題は起きません。しかしいずれにせよ Linux
     のクライアントがそれほど高速ではないことも事実です。
------------------------------------------------------------------------

ということでいまいち解決できていないというか(^^;
FreeBSDのサーバマシンの管理者が来たら、一度書き込みの同期を
無効にしてみようかと思います。