Ubuntu 12.04 Serverを使用してファイルサーバーをセットアップしました。目的は、これまで多数のNASドライブが提供してきたWindowsユーザーに複数のネットワークドライブを提供することです。
これまでに定義した1つの共有でSambaをセットアップしました。テスト用のWindows 7およびWindows XPマシンから問題なく接続できます。
Windowsから共有のディレクトリ一覧を作成する場合、すべてのファイルを一覧表示するには最大2分かかります。BuffaloNASを使用していた場合、約1.5秒かかりました。応答なしでタイムアウトすることもあります。
デフォルトのsmb.confを使用し、これまでに設定した共有に次を追加しました。
[engineering]
comment = Ubuntu File Server Share
path = /networkdriveshares/engineering
browsable = yes
guest ok = yes
read only = no
create mask = 0755
ワークグループの設定を、Windowsコンピューターが使用するアクティブドメイン名に変更しようとしましたが、違いに気付きませんでした。
デフォルトのsmb.confに対して行った他の唯一の変更は、推奨ソケット設定の追加でした。
SO_RCVBUF=8192 SO_SNDBUF=8192
socket options = TCP_NODELAY
遅いSamba共有に関する多くの情報がオンラインで共有されていますが、私が見つけたすべての解決策を試しましたが、どれも違いをなめませんでした。解決策がない場合、Windowsクライアントが使用するファイルサーバーを設定するより良い方法はありますか?
SO_RCVBUF
およびSO_SNDBUF
を設定せずにサーバーを設定してみてください。すなわち:
socket options = TCP_NODELAY
何もありません。または、socket options
を完全にコメントアウトして、Sambaのデフォルトを使用します。
Ubuntu 12.04とギガビットイーサネット上のMacクライアントで同様の問題が発生しました。ファイルの読み取りは約100キロバイト/秒、つまり300倍遅くなりました。 Ubuntu 11.10では、両方のバッファを8192に設定しようとしていました。しかし、12.04にアップグレードしたときに、パフォーマンスを本来の状態(ディスク速度である約30メガバイト/秒)に戻すには、その設定を削除する必要がありました。
別の解決策 提案されたのは、max protocol = NT1
を設定することです。私は最初にそれを試しましたが、それは私を助けませんでした。