2013年10月13日日曜日

今更でもWindows 8(8.1)にするべきたった一つの理由:ネットワーク越しのファイルコピー高速化














 Windows 8が出てもう1年、そして8.1の一般向けリリースまであと数日です。
みなさん使ってますか?
モダンUIとかクソ意味不明すぎて死ね、というあなた向けにも
Win8.1の自動VPN接続に続いて耳より?なネタです。

※なお今回の話はWindowxs 8のPCが2台以上あるお宅向けなので、

PCは1台だけ、という方は申し訳ありません



 Windows 8になってから強化された点の一つとして、
ファイル共有で使うSMBプロトコルの進化があげられます。
SMBのバージョンが3.0となり、いろいろと強化されました。
詳しい話はこちら:
Windows Server 2012クラウドジェネレーション:第9回 強化されたファイル共有プロトコルSMB 3.0の概要 - @IT
特に大事な点を抜き出すと「SMBマルチチャネル」という機能が増えました。
これは、同時に複数のNICを使って送受信することにより、
ネットワーク帯域を拡大したり、負荷分散や障害対策を実現するものですが
要するに「複数のNICを同時に使ってファイルをより速く転送したりできる」つーことです。

 Windows 7までは、たとえ1GbpsのNICを何本チーミングしようが
転送速度は1Gbpsを超えませんでした。(そもそもチーミングはそういう目的のもんじゃないので
仕方ないのですが)
つまり、理論値でも125MB/sまでしか出なかったわけです。
しかし、Win8になった途端その限界を一気に超えることができるようになりました。スゴイ!

[条件]
この機能を使うためには、一番簡単な構成として
ファイルの転送元と転送先にギガビットのNICが2つ以上必要です。
Intelな奴なんかやはりオススメです。無ければ買いましょう。おい。
Gigabit CTとか安いですし。
ちなみに、それ以外特に高いスイッチもいらないし、設定も不要です。

ただし、双方のPCがWindows 8(8.1)もしくはWindows Server 2012でないと
使えないので注意。
片方でもWindows 7だったりするとNGです。

[我が家の構成]
我が家では、メインPCと録画PCに複数のNICが載っています。
構成はこんな感じ

(メインPC)
Intel Gigabit ET Quadport Server Adapter 1 192.168.1.x
Intel Gigabit ET Quadport Server Adapter 2 192.168.1.x
Intel Gigabit ET Quadport Server Adapter 3 192.168.2.x
Intel Gigabit ET Quadport Server Adapter 4 192.168.3.x
Broadcom NetLink Gigabit Ethernet      WOL用


メインマシンのNIC。4ポートNIC1枚は果たして必要か









(録画PC)
Intel 82576NS Gigabit Network Connection 1 192.168.1.x
Intel 82576NS Gigabit Network Connection 2 192.168.2.x
Intel Gigabit CT                                           192.168.3.x


録画PCのNIC。控えめ。




















メインのセグメントは 192.168.1.0/24です。ここはスイッチ経由。
192.168.2.0/24 と 192.168.3.0/24 のセグメントは2台間で直結しています。
このように複数のネットワーク・パスを作るとSMBマルチチャネルが有効になります。

[実験]
実際にやってみるとどうなるか、試してみます。
まず、メインPCのNICをわざと3つ殺して1つのみ。1対3です。

メインPCから録画PCへ、Windows 8.1のISOをコピー。
いつものギガビットレベルな転送速度です(約100MB/s)













通常の速度ですね。では、すべてNICを有効にしたらどうなるか。

同じようにコピー。
メインPCのタスクマネージャーで、全てのNICがデータを
送信していることがわかります















 なんと約270MB/s出てます。満足。

もちろん、NICだけ帯域が十分あっても
送信側・受信側のディスク読み書き速度がそれだけないと
何にも意味がありません。
(メインPC・録画PC共にSeagateの1TB HDDを2本でストライプしています)

ですが、最近のHDDはシーケンシャル読み書き共に
150MB/sくらいは出ますので
普通にギガビットNICの帯域よりも速いわけです。
SSD同士なら、もちろんさらに速いことでしょう。

 ちょっとでも速くデータを受け渡しするなら、SMBマルチチャネル。これですよ。


0 件のコメント:

コメントを投稿