私は、特にMac OS XクライアントでひどいSMB / CIFSパフォーマンスを経験しているWindows 2012 R2サーバーを継承しています。サーバーはファイルサービスを実行しており、Active Directoryドメインコントローラー(ドメインの2つのうちの1つ)です。PDCエミュレーターです。他のドメインコントローラはWindows 2003 Serverです。
クライアント側の環境は、Windows 7とMac OS X 10.9 Mavericksマシンが混在しています。すべてのマシンは、同じ物理および論理ギガビットLAN上にあります。Windows 7ユーザーは、期待通りのパフォーマンスを体験できます。Mac OS X 10.9 Mavericksクライアントは、ディレクトリのリスト表示が遅い、トラバーサル、ファイルの読み取り、ファイルの書き込みなど、ひどいパフォーマンスを経験します。読み取り/書き込みのパフォーマンスには、書き込みのパフォーマンスが大幅に低下するという大きな非対称性があるようです。
新しいSMBX / SMB2実装とは対照的に、OS XクライアントにSMBv1とCIFSの使用を強制しようとしました。この問題はすべてのバージョンで持続します。テスト用にThursby DAVEもインストールしました。リスト/トラバーサルのパフォーマンスはわずかに緩和されますが、依然として許容できないほど遅くなります。
共有をマウントし、共有dd
へ/dev/random
の1GBテキストファイルの読み取りと書き込みに使用しました。書き込みパフォーマンスは0.33 Mbpsでした。tcpdump
書き込み中に通信をキャプチャするために実行しました。フォーマットがないことを言い訳してください。
編集
私は、Windows Server用のNFSサーバーを有効にし、Mac OS Xクライアントにマウントしました。dd
上記の同じテストキャプションを実行して、同様の結果/パフォーマンスを実現しました。
15:45:45.221337 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], ack 102, win 32767, options [nop,nop,TS val 1279665835 ecr 242798971], length 0
15:45:45.221546 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 1:501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500WARNING: Packet is continued in later TCP segments
SMB PACKET: SMBwriteX (REQUEST)
15:45:45.221547 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 501:1001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221547 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 1001:1501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221547 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 1501:2001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221548 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 2001:2501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221548 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 2501:3001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221549 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 3001:3501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221549 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 3501:4001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221550 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 4001:4501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221550 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 4501:5001, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
15:45:45.221551 IP 10.0.1.53.59596 > server.example.local.microsoft-ds: Flags [.], seq 5001:5501, ack 102, win 32768, options [nop,nop,TS val 1279665835 ecr 242798971], length 500SMB-over-TCP packet:(raw data or continuation?)
編集
- 潜在的な原因を特定するために、次のトラブルシューティング手順を実行できますか?
- 上記のキャプション付きtcpdumpから何か派生するものはありますか?
- 説明されているパフォーマンスの問題を軽減するための推奨ネットワークパフォーマンスチューニングの推奨事項はありますか?
cifs://server/share
coffeecoffee11からのアドレスを使用して接続することに関するもの、1つはuserofalltradesによってページの中央にあるMTU値を変更すること、そしてそれを無線ではなく有線で試すという興味深いテストです。またdiscussions.apple.com/thread/5500165?start=45&tstart=0 joewebdmsからWindows上のTCP /ポート445のNetBIOS overに関する提案。
Get-SmbSession | fl cli*,d*
。Dialect
SMBバージョンです。