web-dev-qa-db-ja.com

ギガビットイーサネットネットワークでのWindowsファイル共有(SMB)の一般的なパフォーマンスはどのくらいですか?

最近、SambaサーバーとWindows Vistaクライアントを使用して、ギガビットイーサネットネットワーク(ジャンボフレームを使用していません)経由でWindowsファイル共有をセットアップしました。いくつかのファイルコピーを実行しましたが、表示される最大スループットは20MB /秒(メガビットではなくメガバイト)で、ネットワークの理論上の最大125MB /秒の約15%です。サーバーには約75MB/sを管理できるRAIDアレイがあり(ボトルネックはPCIバスです)、クライアントはディスク間コピーで約40MB/sを管理できます。

当時、ネットワーク上に他のトラフィックはなかったと付け加えておきます。

理論上の最大値が得られないことは理解していますが、これほど悪くなるとは思いませんでした。

ギガビットイーサネットネットワークでのWindowsファイル共有(SMB)の一般的なパフォーマンスはどのくらいですか?

ボーナスポイント:これを速くするために(ジャンボフレームを使用する以外に)何を調整できますか?

10
Kaypro II

ネットワークカード、スイッチ、ケーブルの品質はすべて影響を与える可能性があります。使用しているNICおよびスイッチのレビューを検索して、他の人がそれらのパフォーマンスが悪すぎると報告していないかどうかを確認することをお勧めします。内蔵のマザーボードNICはGbit転送よりも悪いと私は悲しく思いますが、私の経験では、これが私の環境にあるとしても、それほど大きな違いをもたらさないようです。

参考までに、私はオフィスに新しいGbitスイッチをインストールしました(古い100Mbitスイッチを置き換える)と、SMB転送が30Mbyte/sec近く(ただしそれ未満)で実行されます)テストしたマシンの各組み合わせ。2つのマシン間でnetcatを使用して簡単なテストを行ったところ、同じような結果が得られたので、SMBがボトルネックであるとは思いません。2つのマシンテストしたところ、2つのスイッチの間に効果がある可能性がありますが、同じスイッチ上のマシンへのSMB転送の数字がどれだけ近いかを考えると、その効果は最小限です。

私がGbitネットワークで見た最高の転送速度は、最速で50Mバイト/秒の少し恥ずかしがり屋でした。これは、一方のマシンから他方のマシンのファイルにドライブイメージを転送しているときです(VMWare仮想ドライブに変換するため)。その場合、2台のマシンは、スイッチではなく短いクロスケーブルで接続されていました。偶然にも問題のマシンの1つは、今テストしたマシンの1つで、最大29Mバイト/秒でした。私の場合、メインのボトルネックの原因として最も可能性が高いのは、おそらく建物内の8年前の配線でした。安いです!私の小さなホームネットワークでの迅速な(そして同様に非科学的な)テストでは、転送速度が35Mバイト/秒で、Samba共有からWindowsボックスにファイルをコピーし、25Mバイト/秒で他の方向にコピーしていることがわかります(わかりません)どちらの場合も、コピーがWindowsボックスでテラコピーによって管理されていたため、そこに矛盾がある理由-後でさらに調査する必要があるかもしれません)。

ジャンボフレームはバルク転送の違いを生むため、すべてのキットがそれらを適切にサポートしている場合は、試してみることをお勧めします。

長い話を簡単に言うと、私の事例によると、20Mバイト/秒は少し遅いですが、それほど遅くはありません。私のWindowsとSambaのインストールはすべて完全に調整されていないため、ハードウェア/配線が私が見ているものと見ているものとの違いだと思います。

編集

もちろん、この回答から5年後、ハードウェアとソフトウェアは進化しました。安価なキットを使用していても、ギガビットネットワークを備えたマシンで90+ MiB /秒の転送がよく見られます。私のホームメディア/バックアップ/その他のサーバーは、転送のバルクが60強に制限されているようですが、それはボックスのハードウェアのシングルコアでCPUにバインドされているSambaのようです。

8
David Spillett

ああ...これは、サーバーの男が内部で何が行われているのかを理解することが重要な場所です。これは2歳なので、彼はすでにそれを解決していると思います。しかし、後世または同様の問題を持つ人にとって、彼がおそらく遭遇したのはこれです

(TCPウィンドウサイズ* 8ビット/ RTT(ミリ秒))=最大TCP bpsのスループット

あなたはギガビットネットワークを持っているかもしれませんが、単一のTCP=フローはおそらくそれほど高くなることができません。

以下は、デフォルトの65535Byte TCP Vistaでのウィンドウサイズ

RTT 10ミリ秒=> TCPスループット= 52428000 bps = 52Mbps

RTT 20ミリ秒=> TCPスループット= 26214000 bps = 26Mbps

RTT 50ミリ秒=> TCPスループット= 10485600 bps = 10Mbps

RTT 100ミリ秒=> TCPスループット= 5242800 bps = 5.2Mbps

RTT 150 ms => TCPスループット= 3495200 bps = 4.3Mbps

RTT 200ミリ秒=> TCPスループット= 2621400 bps = 2.5Mbps

RTT 300ミリ秒=> TCPスループット= 1747600 bps = 1.7Mbps

RTT 500ミリ秒=> TCPスループット= 1048560 bps = 1Mbps

20Mバイト/秒または160Mビット/秒では、往復待ち時間は約3ミリ秒のオーダーになる可能性があります。これを高速化する他の唯一の方法は、TCPオプティマイザを使用して、ワイヤを介して重複排除するか、フラグメントをより大きなパケットにスプライスすることです。LAN経由では、おそらくあなたを得ることができませんLinksysやNetgearなどのソーホー機器を使用している場合、スイッチに共有バッファがないために遅延が発生している可能性があります。24ポートのような大きなスイッチの場合は、2つのデバイスが接続されていることを確認してください同じASICに変換します。これにより、シリアライゼーションの遅延は改善されますが、それほどではありません。2ミリ秒まで下げることができれば、最大で約31〜32Mバイト/秒のブーストが得られます。2つの異なるスイッチ上にある場合、新しいハードウェアがなくてもできることはたくさんあります。

4
Scott-CCIE24038

これはこの場合に役立ちますが、Windows 2008 Serverと通信するVista/Windows 7は、SMB2を使用します。これは、単純なSMBよりもはるかに効率的であり、ネットワーク帯域幅のはるかに多くを利用します。参照してください。 Windows Server 2008のSMB2プロトコルによるファイルサーバーパフォーマンスの向上 および Microsoft Windows VistaおよびWindows Server 2008での強化されたネットワークパフォーマンス 詳細。

SMB2はSamba 4で作業中ですが、 Samba 3.5にバックポートされている のようです。

2
Sim