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


10

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

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

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

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

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


2
ネットワークのパフォーマンスの問題を修正しました。サーバーのオンボードNICが不良で、クライアントの古いNICドライバーが組み合わされていました。テストのために実行したいくつかの一括コピーに50MB / sから80MB / sが表示されています。ただし、転送はときどき数秒間予期せず停止するようです。
カイプロII

1
ネットワークパフォーマンスが低下するもう1つの原因は、仮想PCを実行するだけで(必ずしもイメージを実行する必要はない)、VistaマシンでNICが最大100Mbpsに制限されているように見えることです。
カイプロII 2010

回答:


8

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

参考までに、私はオフィスに新しいGbitスイッチを設置し(古い100Mbitスイッチを交換)、大規模なSMB転送を、テストしたマシンの各組み合わせ間で30Mバイト/秒近く(ただしそれ未満)で実行しました。2台のマシン間でnetcatを使用して簡単なテストを行ったところ、同様の結果が得られたため、SMBがボトルネックになっているとは思いません。テストした2台のマシンには2台のスイッチがあり、その間に影響を与える可能性がありますが、同じスイッチ上のマシンへのSMB転送の数値にどれだけ近いかを考えると、その影響は最小限だと思います。

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

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

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

編集する

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


私にとってケーブル接続は問題になりません。ネットワークのギガビット部分は完全にCAT6です。私の(ホーム)ネットワークは異種混合であるのでジャンボフレームを使用できません-私はwifiと100Mbitセグメントを持っています-ジャンボフレームはギガビットのみであると私は理解しています。ただし、ジャンボフレームを特定のホストのペアに制限できれば、うまくいくかもしれません。これはハードウェアの良い点です。私のすべては消費者向けです。それを調べなければならない。もう1つ考えたのは、内蔵NICの接続方法に問題があるかもしれません。PCIバス上にある場合、それが要因になる可能性があります。
カイプロII

1
「20Mbyte / secは少し遅いですが、それほど大きくない」という意味ではありませんか(終わりはありました)。それ以外の場合は+1、いい記事です。
いんちきキホーテ

良いキャッチ〜quack、正式に編集。
David Spillett、2009年

ああ。悲しいことに、コメントを編集できない、または最後を食べるのをやめたい...
quack quixote 09/11/24

4

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

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

ギガビットネットワークを使用している場合でも、単一のTCPフローではこれを高くすることはできません。

これは、Vistaでデフォルトの65535Byte TCPウィンドウサイズがあると想定した簡単な表です

RTT 10 ms => TCPスループット= 52428000 bps = 52Mbps

RTT 20 ms => TCPスループット= 26214000 bps = 26Mbps

RTT 50 ms => TCPスループット= 10485600 bps = 10Mbps

RTT 100 ms => TCPスループット= 5242800 bps = 5.2Mbps

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

RTT 200 ms => TCPスループット= 2621400 bps = 2.5Mbps

RTT 300 ms => TCPスループット= 1747600 bps = 1.7Mbps

RTT 500 ms => TCPスループット= 1048560 bps = 1Mbps

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


2

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.