Vistaの通信速度を上げよう
Windows7が発売されているのにVistaの記事を扱うのは今更感があるのですが・・・
「Bフレッツや光プレミアムを使って相手先と通信を行う」事を前提にした話なので、LAN上の相手なんかだと最適な数値は異なります。
TCP/IPの通信速度にかかるパラメータは、
- MTU・・・1パケット(通信の最小単位)のサイズ
- MSS・・・1パケット中で実際に自由に使えるデータサイズ。MTUから40byte引いた数字になる。
- RWIN・・・相手の応答を待たずに送りつける事が出来るデータ量の最大値。
- 相手先からの応答時間により最適値が異なる。大きければ何でもいい、という訳ではない。
- Vistaはこれを任意の数値に設定することは基本的にはできない。というか、普通に設定しても無視される。
- まぁ、RWIN分のパケットをガンガン送りつけるスタイルのXPが行儀悪いだけだがzzz
- 自動で設定されるとはいえ、ある程度は触れるのでチューニング出来なくもない。
- 具体的には「netsh interface tcp set global autotuninglevel=〜」でオートチューニングの設定が出来る
- 設定値としては「disabled」「normal」「restricted」「highlyrestricted」「experimental」がある。
- disableだとRWINは65536固定。
- normalだと0〜16MBで可変。この最大16MBというのが問題で、ここをうまく処理できない通信機器が経路にいるとRWINが本来の1/256になってしまう
- highlyrestrictedは0〜256KBの範囲に制限。↑の症状を緩和するのかな
- restrictedとexperimentalについては資料不足
- ちなみにこれを固定値にする「Mz Vista Force」というソフトもあるようだ
- CTCP・・・VistaやWindows2008で実装されたTCP通信を更に速くする手順。
- internet等の細くて長い経路だと影響なさそうだけど、LAN上の通信なんかだと凄まじい速さになるようだ
- 相手が対応してないと使えなさそう
最近の通信速度のボトルネックはwinsock(アプリが通信する時使うもの)のバッファにあるようなので、そっちも弄らねば。
- DefaultReceiveWindow・・・一度に受信するサイズ。Vistaでは設定しても意味がない。
- ここをいくら大きくしてもRWINが十分大きくないと速度が速くなる事は無い。
- ここを小さくしても通信経路の機器がWindowScalingを正しく処理しなければ意味は無い。
- DefaultSendWindow・・・一度に送信するサイズ。Vistaはここを指定してやらないと通信速度が遅くなる
- デフォルトの数字は8192らしいので、ここをRWINと同程度に大きくすると上り方向の通信速度が劇的に変化する。
- LargeBufferSize・・・「AFDに使用されるラージバッファのサイズ」とあるけれど、具体的に何が変わるのか?
- デフォルトは4kしかないので、パフォーマンスを上げるためにもっと大きくしても良さそう(64kくらい?)
- 他にも似たものに「MediumBufferSize」「SmallBufferSize」がある
他にも弄れそうな項目はあるけど、効果がありそうなのはこんなところか。