Hatena::ブログ(Diary)

日記・備忘録・チラシの裏

2012-01-12

Win7のネットワーク安定化・速度向上(?)

Windows7のSNPという機能を無効化することにより安定化・速度向上が見込める。

■スペック
 ・OS : Win7Pro SP1 64bit
 ・マザー : BIOSTAR TA780G M2+
 ・ネットワークアダプタ : オンボード
    Realtek PCIe GBE Family Controller
    ドライババージョン : 7.40.126.2011


■SNPを無効化する手順

1.コマンドプロンプトを管理者権限でひらく

2.現在の設定を確認
 >netsh int tcp show global

3.TCP Chimney Offload の無効化
 >netsh int tcp set global chimney=disabled

4.Receive-Side Scaling(RSS)の無効化
 >netsh int tcp set global rss=disabled

5.Network Direct Memory Access(NetDMA)の無効化
 >netsh int tcp set global netdma=disabled

6.ネットワークアダプター側の設定も無効にする
 「デバイスマネージャー」→「ネットワークアダプター」直下の固有ドライバ名を右クリックして「プロパティ」の「詳細設定」タブ内のSNPと関係ありそうな項目を無効化する
 上記のドライバの場合はTCPチェックサムオフロードを無効化
 ネットワークアダプタによってSNPでサポートしてる機能としてない機能があったりするから、ここはそれぞれ無効にする設定がことなるかも

7.念のため再起動後、コマンドプロンプトから変更されてることを確認


■備考
以下抜粋
[Windows 7編]ネットワーク設定を標準で使ってはいけない

 SNPとは、通常はPC上のプロセッサが行っているネットワーク処理を、PC内部のNICネットワークインタフェースカード)に担当させるなどしてプロセッサの負荷を下げる機能だ。

(1)TCP Chimney Offload
 TCPネットワーク制御をプロセッサからNICにオフロード(負荷を軽減)する機能。この機能を有効にすると、大量データの送信処理や、通信データの信頼性をチェックするための値(チェックサム)の計算などを、NIC上のTOETCP Offload Engine)と呼ぶモジュールで処理する。プロセッサにかかるネットワーク処理の負荷を軽減できる。

(2)Receive Side Scaling(RSS
 TCPの受信制御を効率化する機能。この機能を有効にすると、通常は一つのプロセッサコアで行う受信制御を、複数のコアが分担して行うようになる。特定のプロセッサコアへの負荷を分散できる。

(3)Network Direct Memory Access(NetDMA)
 NICからのメモリーアクセスを効率化する機能。この機能を有効にすると、NICに処理をオフロードしてもプロセッサを経由しなければできなかったメモリーアクセスが、直接できるようになる。プロセッサの負荷の軽減と、NICでの処理の高速化が図れる。


予期せぬ挙動が!? 新機能 Scalable Networking Pack をご存知ですか?

Receive Side Scaling (RSS) とは、マルチ CPU およびマルチコア CPU を利用している場合、TCP の受信処理を複数のコアに分散するテクノロジーです。 RSS 機能が無効または存在しない場合は、TCP の受信処理は、マルチコア CPU であっても一つのコアで処理され、その特定のコアにおいてのみ、処理が実施されます。 RSS 機能を利用すると、この処理が接続ごとに別々のコアに分散されます。 処理を接続ごとに分散することにより、複数のコアを利用しながらも TCP パケットの受信順序を保持したまま処理を行うことができます。 また、受信したパケットに対する応答はその受信を処理したコアから行われるため、結果として送信処理も複数のコアに分散されます。

TCP Chimney Offload とは、TCP に関するネットワーク処理を NIC で行うことにより、コンピューターの CPU の負荷を軽減するテクノロジーです。 TCP Chimney Offload によって行われる処理の種類は、NIC の実装により異なりますが、一般的には、 TCP ポート番号、TCP シーケンス番号、TCP ACK 番号、TCP チェックサムの確認など TCP 通信に必要な情報の処理、送信データの分割、受信パケットの再構築、再送処理などに及びます。 これらの処理を NIC 上で処理を行うことにより CPU の負荷の低減を図ることができます。 また、受信パケットの再構築を NIC で行う機能は、複数のパケットをまとめて受信してからホスト コンピューターへ引き渡すこととなり、結果として CPU への割り込み要求数も低減しますので、TCP の処理による CPU の占有時間を少なくすることができます。 なお、TCP チェックサムの確認と送信データのセグメンテーションについては、SNP 機能が追加されるよりも以前から、TCP の連続的な状態を管理しない簡易的な機能 (ステートレスな実装) として、それぞれ TCP Task Offload および Large Send Offload (LSO) 機能として Windows に実装されていました。

Network Direct Memory Access (NetDMA) とは、ネットワークの受信データをネットワーク アダプターの受信バッファーからアプリケーションのバッファーへコピーする作業を CPU によって行うのではなく、チップセットを含むシステム全体が連携し、Direct Memory Access 機能により行うためのテクノロジーとなります。 通常は、この作業はホスト コンピューターの CPU が行いますが、NetDMA を利用することにより、処理がチップセット等に分散され、CPU への負荷を低減します。


速度.jp スピードテスト 高機能版

田中よしひろ田中よしひろ 2012/11/27 16:27 windows8でBBIQギガコース開通しました。昨日と今日の朝方の速度計測結果から見ると、上り(2回計測しましたが、300Mほどでした)が不安定なので、こちらのページにご質問書き込みました。Windows8も調整が必要でしょうか?
アドバイスお願いいたします。

snj_nnsnj_nn 2012/11/28 04:13 >windows8でBBIQギガコース開通しました。昨日と今日の朝方の速度計測結果から見ると、上り(2回計測しましたが、300Mほどでした)が不安定なので、こちらのページにご質問書き込みました。Windows8も調整が必要でしょうか?
アドバイスお願いいたします。

上りの速度が不安定ということであれば、SNPの無効化による方法は効果が薄いと思います。
上りで300Mbpsはかなり早い方だと個人的には思いますが、支障に感じるほど不安定ということであればまずNICのドライバやルータのファームウェアを最新のものにしてみていかがでしょうか。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証