« 【夫】【妻】の絵、ハッケン | メイン | にらかな辞書 2009.11VU対応版(検証) »

2009年11月19日 (木)

PC改造計画 【速度】VistaとWin7

VistaはTCP 受信ウィンドウ自動チューニング」 という機能があり、

これがバカなので、XPの約半分しか速度が出ません。 同じルータにつないだXPとVistaを並べるとよく分かります。 Msは、光100Mbpsくらいの回線まで想定しないで設計した と公式HPで自白済。バカ機能は、回線速度が速い所ほど重くのしかかります。

 

ウザいので止めると、もっと遅くなるという曲者で、始末におえません。(ウチのVistaの場合)

 

Vista ざけんなよ

と、PC詳しいみなさんが取り組んでますが、バカ機能を止める抜本的改革には至っていません。

    だめだVista 早くなんとかしてくれ

EditMTUやNetTuneのような、XPまで便利に使えたフリーソフトも 歯がたちません。

今までの場所にあったレジストリも使わないので、手動でRwin値を書き換えるのも無意味です。

劇的に速くなる噂のツール M○Vista○○○やS○○○はスパイウエアも付いているので使いたくありません。

・・・ いろいろ、調べました。

どうやら、このバカとは上手く付き合っていくしかないようです。

 

 

2009.11時点~2011.2の << 調査結果1 >>

VistaでRwinを調整し、スピードアップが望めるのは、MS公式に別件で記載のコマンド

  netsh interface tcp set global autotuninglevel=highlyrestricted 

これ。

 

操作方法は、http://support.microsoft.com/kb/929868/に載っている。

( タイトルが「Enterpriseベースだけ」のような書き方ですが、「ベース」が曲者で、つまりVistaぜんぶです )

  1. [スタート] ボタンをクリックし、[すべてのプログラム] をポイントして、[アクセサリ] をクリックします。
  2. [コマンド プロンプト] を(右クリックし、[管理者として実行] を)クリックします。
  3. [管理者: コマンド プロンプト ウィンドウ] で、次のコマンドを入力し、Enter キーを押します。
    netsh interface tcp set global autotuninglevel=highlyrestricted
  4. OK としか表示されませんが完了。再起動不要。(下記※で状況を確認できます)

どのサイトを調べても、結局 行きつくのはこのコマンドである。(自分は2.の操作略でおk)

いろいろなツールも試したが、結局、

    Vista自動チューニングONのまま+highlyrestrictedコマンドを行う  方法に勝るものはなし

 

 

自分の場合、normal 約20Mbps だったのが、Speed20091116_50m

                                   ⇒  highlyrestricted 実行後、50Mbps にUP。※当社比

 

 

※ 速度UPは個人差があります。個人っつーかPC?w

※ 速度は 計測サイト・計測する時間帯によっても、 ぜんぜん違います。

     みんながネットする時間は混んでいる(あたりまえ)。

 

参考: Vistaの上り編 2011.1

http://ffxi.no-blog.jp/2008/2011/01/pc_e768.html

※ 安定性を重視し、不安定なチューンアップは却下しています。  いくら計測サイトで速くても、ブラウザが安定しなかったり・エラーで再ダウンロードしてばっかりだったり・PCがしょっちゅう再起動するようでは、意味がないからです。

※ 速度計測の際は、DNSキャッシュやインターネット一時ファイル等 すべて消去してから行っています。

 

 

 

<< 調査結果2 >>

 

⇒ Win7の場合、自動チューニング を止めたほうが速くなる場合もある

メーカーによって違うのか?、LANボードのドライバの出来によるのか?はたまた各自の設定によるものなのか?

どのPCがどっちなのか全く不明ですが 「 disableにしたほうが速くなる 」PCがあるのは事実。

このコマンドはPC再起動する必要もないし、

とにかく 試してみるしかないようです (・`ω・)b

 

 

2011.2月に SP1が出るまで、Win7には自動チューニングの不具合がありました。

この投稿の末尾コメント参照。情報ありがとうございます(oゝД・)b

上り【速度】Win7編 http://ffxi.no-blog.jp/2008/2011/01/win7_6f92.html

【速度関連】Win7の不具合 http://ffxi.no-blog.jp/2008/2011/02/win7_d8da.html

この不具合のせいで 止めたほうが速かったのか?

SP1後も やっぱ止めたほうが速いのか?

自PCはどっちなのか、確認推奨

んで、気が向いた方は結果をコメントくださいませ(*´Д`*)

「こういう事例もあったよ!」なコメント頂けると、他の人の 役に立つかもです 

 

<< 自動調整機能を無効にする場合 >>

Microsoft公式HP ▼ 

Windows Vista ベースのコンピューターとそれ以前のオペレーティング システムの間で、サイズの大きいファイルをコピーすると、予想よりもコピー操作に時間がかかることがある
http://support.microsoft.com/kb/932170/ja を参照、

方法4:ネットワークの TCP ウィンドウ サイズの自動調整機能を無効にする

  netsh interface tcp set global autotuninglevel=disabled 

 

ウチのVistaの場合、完全停止は かえって遅くなりました(実験済)

しかし、Win7の場合、止めたほうが速くなるPCも 中には ある。

  どっちなのか? ← テストしてみないと分かりません

    ( Java使用の計測サイト・Flash使用の計測サイト等により速度バラつくとか、Java一時ファイルやインターネット一時ファイルを削除して再計測したら違ったとか、PC再起動したらかえって遅くなったとか、よくあるので注意。

    自動調整機能を無効にすると、計測サイトでは速いのに 実際のブラウザでは遅いとか、一時停止してから表示されるカンジになる等の症状にも、ご注意を。 そこらへんも考慮してテストしてみるのを推奨 )

 

※   DOSコマンドの「?」で説明を出すと「disabled:既定に戻す」と表示されるが 間違っている。

       このMicrosoft公式HPに記載のとおり、正しくは disabled=自動チューニング停止。

      ( 「自動チューニング止まっている状態がWindowsの本来の姿だから」らしい… (;一_一) まぎらわしい

 

 

 

<< 自己責任でやってね >>

失敗しても誰も治してくれません。こうゆうチューンアップは「自己責任で」ってどこのサイトでも書いてあるでしょう。操作の前に、レジストリのバックアップや、「Windowsの復元」で復元ポイント作っておきましょう。バックアップってどうやるの?どうやって戻すの(゜ーÅ)って人は、あきらめなさい。もしPCリカバリすることになっても、自分ひとりで対処できる人だけ試す資格があります。 …というか、highlyrestricted 部分を normal にすれば元に戻るし、PC再起動の必要もない  たいしたことない変更なので 危険はないんだが、黒いコマンド画面で謎スペルを打ち込んで もし通っちゃっても しらないよ~(´・ε・`) ってこと。 Enter 押す前にスペル確認してね 

 

 

なお、

  • normalのままだと、HP表示が遅いだけではない。表示できないサイトも一部ある弊害アリ。
  • すでに「highlyrestricted」に設定済のPC もある  ⇒ 下記※参照
  • 「highlyrestricted」コマンドは、Windows 7 も適用できる (試し済)
  • 自分はWin7持ってないので試してないが、設計もドライバも共用だから可だべ)

     

 

<< 現状の確認方法 >>

DOSコマンド窓で、

  netsh interface tcp show global    このコマンドは現状見るだけ(^_-) 危険ではない。 

          ↓

TCP グローバル パラメータ
----------------------------------------------
Receive-Side Scaling 状態            : enabled  ← disabled のほうが良
Chimney オフロード状態                 : disabled
ウィンドウ自動チューニング レベルの受信: highlyrestricted
アドオン混雑制御プロバイダ              : ctcp (←noneのほうがいいかも Vista既定ではnone)
ECN 機能                                     : disabled
RFC 1323 タイムスタンプ                : enabled
** 上記の autotuninglevel の 設定は、任意のローカル/ポリシー構成を上書きする
Windows スケーリング ヒューリスティックの結果です。

----------------------------------------------

と、表示されます。(Vista SP2の例)

確認したら 既にhighlyrestrictedだったひとは、操作不要です。 

(Vista SP2 の有無はカンケーないようです。自分のはSP2適用済でしたがnormalのままで遅かった)

 

 

追記:Windows 7 の場合

highlyrestricted コマンドは、Win7も実施OKでした。

ただしWin7は normal のままでも充分速く、44Mbps ⇒ highlyrestricted 実施後48Mbps。

劇的な速度UPはありません(1割くらいUP)。Vistaとは若干 仕様が違うようで、show globalでも 「NetDMA 状態」「Direct Cache Acess (DCA) 」という2項目が増えています。(この2つがどんな役割をするのか要調査

            Receive-side Scaling・Chimney Offload・NetDMA の説明を末尾に追加

 CTCP・ECN機能の説明も末尾に追加 

 

 

 

※ 普通にHP見る分には何十Mbpsも必要ないです。1~3Mbpsあれば充分でしょうね(´・ω・`)

確かにDLするときは速いほうがいいけど、途中経路が混んでたり・データ送出側サーバー(DL元サイト)が混んでたり調子悪かったりして遅ければ、ウチのがどんなに速くてもDL速度は遅くなります。チケット購入サイトなど、あまりにも混んでると 表示すらできなくなることもあるし、ニコニコも混雑時間帯は帯域制限してるし。自PCだけの計測速度にこだわっても、イミないほうが多いです。

本来出るはずの速度が出ないVista的な改善努力は 自分も頑張るけど(´・ω・`)、あまりにも速度だけに固執するのは如何なものかと思います (ほかにもやることあんだろ、ブラウザの反応速度とか メモリとか ルータ性能とか…)

過ぎタルは なお及ばざるが如し。    …と、自分に言い聞かせる。 

 

-----------------------------------------------------------------------------------------------

 

追記①  LANケーブルをカテゴリ6や7に変えるといいですよ!(当社比20%up)

マジすかΣ(゜д゜lll)   ってくらい効いたのは、PCやTV その他もろもろ電子機器に囲まれノイズにまみれた環境だからだと思いますが(^^;;) 、自分ではどうにもならない局-自宅間の問題とは違い、経費¥760くらいで試せるものですので、お手軽です。

飛行場・タクシー無線などのアンテナ・鉄道・幹線道路が近い方も、きっと効くと思いまする。

 

   ⇒ あれ?うちのケーブルは何?σ( ・´_`・ )  袋なんて捨てちゃったよ...  ってとき、

        ケーブル見ると書いてあります。  CAT-5e とか CAT.6 とか。

 ( 端子じゃなく、線のほうに アルファベットや数字がダラダラっと書いてある )

CAT.5 はカテゴリ5で、まぁまぁなLANケーブルですが、光などの速い回線には力不足。せめてCAT.5e(エンハンストカテゴリー5)ないと。これは安いし やわらかいし、きしめんフラットケーブルやスキマ用スリムケーブルなど種類も多い。 しかーし! 光回線にはカテゴリ6以上がよろしいようです。伝送ロスが少ない=ムダなくPCまで届くんですね~。

特にONUルータ間の短いトコ!ココが安ケーブルじゃダメ o(`・д・´)o 意外に忘れがち

鉄塔・飛行場が近い・ノイズ多なお宅は、STP シールドけーぶるも いいッス。

 

-----------------------------------------------------------------------------------------------

 

追記②  IPv6を停止します。

効果: 若干速くなったが  (;´・ω・) 微々たるものかもしれん

理由: 同じルータ配下につないだ 他のPCを探すため、Vistaは 常にIPv6通信を行います。ところが、PCが1台のみの状況や 全く共有を行わない場合は、無駄です。 要らない通信が 宅内LANにたれ流しなので、帯域が若干圧迫されます。 セキュリティソフトも この通信をいちいちチェックするので、無駄な動作をします。

自分は、セキュリティソフトの通信ログが 無駄IPv6で埋め尽くされるのがイヤだったから実施

ごく普通にネットするだけなら、IPv6をOFFにしても問題ありません。

遠隔操作するWEBカメラ ・ IPv6を使うタイプの有料ストリーミング動画などを使わないならば、停止してもOK。

( もし問題が発生したら、そのときONに戻せばいいだけ♪)

Ipv6500

操作例: コントロールパネル > ネットワークと共有センター > カスタマイズの下にある「状態の表示」

> ローカルエリア接続の状態   左下の[プロパティ] > 中央の枠内にある

 インターネットプロトコル バージョン6 (TCP/IPv6)

この チェックを解除し > [ OK ] [ 閉じる ][ ×

 

 

   ========================     補     足     ========================

 

<< MTUについて >>

(Maximum Transmission Unit)

ネット速度改善系の記事を調べてると、よく「MTU調整」という言葉が出てくる。だが、MTUは実は固定である。回線ごとに違い、フレッツAB系は1454 、プレミアムは1438、YahooBB光は1500(らしい)。実際に増減させるのはRWINなので「Rwin調整」と言うべきなのだが、ひっくるめて便宜的に「MTU調整」と表現するサイトが多いようだ。

HPを表示するには、そのHPを記憶しているサーバという機械から⇒自分のPCにデータを取り込んでいます。このデータのやり取りを、例えば 荷物の輸送に置きかえると、MTUはダンボール1コの大きさ ってカンジ。

 

光やADSLのお宅では、ほとんどルータを使ってるだろうけど、ルータ側に 「MTU:1454」 と設定してあると、PC側で1454以上を設定しても無意味っす。機種の初期設定でそうなってるケースもあるので、ルータ設定内容の確認も推奨。

 

 

<<Rwin とは>>

(Tcp Recieve Windows Size)

上の例えで言うと、トラックの最大積載量が、PCの「Rwin」に当たります。大量の荷物を送るのに 1トン車を何台も行列して送るか・5トン車で一気に送るか という違いに似ています。せまい路地には、こまわりの効くちいさな車でチマチマ送ったほうがいいように、ネット上のデータも こまめに受け取った方が効率いい場合もあります。PCの処理能力が低くていっぱい受け取れない場合もあるし、大きなRwinなら良いってもんじゃないんです。

だけど、太い幹線道路があるなら 大トラック1台でいっきに送った方が手間がかかりません。運転手も1人で済み、荷物に貼る伝票も1枚でよい。データも同じで、速い光回線&安定した回線&処理能力の高いPCなら、ドーーンといっきにデータ欲しい。チマチマ遅いのは やってられね。

                 ・・・という たとえ は、分かりにくいだろうか? ヽ(°▽、°)ノ wwww

 

たとえば、醤油さしに しょうゆ注ぐとき、ダバーッって入れたら溢れるでしょ?

それと同じように、データの入り口がちいさいPCには チョロチョロ入れたほうが早く入るワケ。

大量データが一気に入っても処理できるPCは、ドバドバ入れても大丈夫。

 

 

Rwin値を適正な値に増やすと、送信&受信側 相互の応答回数が減る=ムダが減る。だから、速度を改善させるため、増やしたり減らしたりして「調整」する (だがVistaは すんなり行かない)。

XPまでのRwin は、(MTU-40)× 整数倍= RWIN (厳密に倍数じゃなくてもヘーキ)

                ダンボールを積むトラックは、ぴったりの大きさの荷台なら なお良い。

例: BフレMTU1454 、だからMSSは1414、・・(。-`ω´-)ならRwinは倍数の127,260か260,176 等。

※  フレッツADSLだと、RWINも16,384で固定説あり。

※  Vistaの場合、TCP自動チューニングOFFでRwin65,044(1414X46) ・ ONで66456。

       少ししか変わってなくとも、とても速度が変わる。かつ、速度2倍になっても66456のままだったので、

       VistaはRwinだけではない 別の何かも働いているとわかる(要勉強)。 

 

 

<< いったいVistaは何をやっているのか?>>

 

Vista開発時の記事 ▼ 

2005 年11 月

次世代の TCP/IP スタックのパフォーマンスの拡張機能
http://technet.microsoft.com/ja-jp/library/bb878127.aspx

次世代の TCP/IP スタックの受信ウィンドウ

ネットワークの現在の状態に基づく接続についての最大の受信ウィンドウのサイズの値を正しく決定するという問題を解決するために、次世代の TCP/IP スタックは受信ウィンドウの自動調整をサポートします。受信ウィンドウの自動調整は継続的に、帯域幅遅延積 (Bandwidth Delay Product:BDP) およびアプリケーション取得率を計測することにより、最適な受信ウィンドウのサイズを決定し、変化するネットワークの状態に基づき最大の受信ウィンドウのサイズを調節します。受信ウィンドウの自動調整は既定で TCP ウィンドウ スケーリングを有効にし、16 MB ウィンドウ サイズまで可能にします。データが接続でフローする時、次世代の TCP/IP スタックはその接続を監視し、接続およびアプリケーションの受信率の現在の帯域幅遅延積 (Bandwidth Delay Product:BDP) を計測し、スループットを最適化するために、受信ウィンドウのサイズを調節します。次世代の TCP/IP スタックは現在 TCPWindowSize レジストリ値を使用しません

TCP ピア間のよりよいスループットで、ネットワーク帯域の使用率はデータ転送中増加します。すべてのアプリケーションが TCP データを受信するために最適化されると、ネットワークの全体の使用率が大幅に増加し、Quality of Service (QoS) の使用をフル稼働またはそれに近い状態のネットワーク上でさらに重要にします。

 

2007年12月の記事 ▼

Windows Vista で 3G WWAN データ カードの転送スループットが予想を下回る

http://support.microsoft.com/kb/940646/ja

Vista では、接続の確立時および新しいデータ セグメントを送信するたびにラウンドトリップ時間 (RTT) の推定値を取得します。…中略… RTT データはさまざまな理由によって変動 …中略…。 しかし、予測値がその接続の実際の RTT に収束しない場合、Vista で取得される帯域幅遅延積 (BDP) の予測も正しくありません。そのため、接続の受信ウィンドウが制限され、接続している転送ネットワークのスループットが低下します。⇒ Windows Vista 用の更新プログラム (KB940646)で対応済。2007/08の更新なので、SP2適用済なら不要?(確信なし) 

 

 

なるほどなサイト ▼

VistaのTCPの自動RWIN : メカAG 様

http://www.asks.jp/users/mechag/150591.html

 

 

<< 効かない例 >>

「Vista」「速度」「highlyrestricted」などで検索すると、同じ成功例が よく出てくる。

「highlyrestrictedコマンドのあとNetTuneで設定し成功」という内容だが、投稿者の方も気が付いているとおり、実際にはNetTuneは効果ないだろう。←試した自分がそうだったから。

NetTuneは、XPまでの古いレジストリにRwin値を書き込んだだけ。ソフト的にエラーが出ないので完了したように見えたけど、Vistaで使わないレジストリなので実際の速度には反映されず、highlyrestrictedの効果だけで速度UPしたんだと思う。(レジストリ操作の直後だけ一時的に速くなる場合もありますが、そのうち勝手に元に戻ってレジストリ無関係になります。PC再起動するとすぐに元どおり┐(゜~゜)┌ )

------------------------------------------------------------

 

« SpeedGuide.net TCP Analyzer Results »   

Tested on: 11.1*.2009 20:16
IP address: 5*.*9.xxx.xxx
Client OS: Windows Vista 
TCP options string: 02040586010303020402080a0067ec5800000000
MSS: 1414
MTU: 1454
TCP Window: 66456 (NOT multiple of MSS) ← この値が変わってない
RWIN Scaling: 2 bits (2^2=4)         ← ここも遅い時代と同じ
Unscaled RWIN : 16614
Recommended RWINs: 65044, 130088, 260176, 520352, 1040704
BDP limit (200ms): 2658kbps (332KBytes/s)
BDP limit (500ms): 1063kbps (133KBytes/s)
MTU Discovery: ON
TTL: 104
Timestamps: ON
SACKs: ON
IP ToS: 00000000 (0) 

このサイトは VistaやWindows7の計測には 合っていない。

実際の速度は倍加したのにも関わらず、このサイトの値は変わっていないからだ。

 

TCP 受信ウィンドウ自動チューニングの状態がHighなのかnormalなのかもない。 実速度が倍化した理由の説明材料を探したが、そんな項目は計測結果に無い。上のRWIN Scalingが合っているのかも怪しい。そもそもRwin値も みかけ上の値を表示しているだけ?合っていない可能性大。自動チューニングのこと知らないのか?と言うとそうではなく、文中に " Vista用のチューニングツールがあるから使え" 的リンクが張ってある。 だが この「SG TCP/IP Patch」は改善どころか悪化するだけ、速度だけでなく IEの反応が とてもとても遅くなり、更に元に戻らない;;  という最悪の事態になる。使うのはヤメといたほうがヨイ。( 自分はWindowsの復元で戻せたが、もしできなかったら悲惨;;)  このサイトは「MTUが分かる便利なサイト」として長生きしてもらおう。   

 

 

<< XP用 参考資料  >>

 

NTTのフレッツ速度計測のサイト http://speed.flets/speed/200411/speedexp/index.html

         NTTがレジストリ操作方法 載せたり、チューニングツールまで提供してるとは 思わなかった!

         Flets回線じゃないお宅は見れない? かもしれないので掲載。

Xpmerwinflets_2 

 

上図 「チューニング後のRWIN値の確認方法はこちら」 から進むと、

Xp_regedit_1

 

Xp_regedit_sp1

   XP SP2は、下も

Xp_regedit_sp2   とな。

だがXPなら、NetTuneやEditMTU使えるから、手動でレジストリいじる必要ないと思われます。

( Vistaも これらと同じ位置に値がありますが、Vistaは無視する模様 )← この値は修正で無くなったらしい

 

 

 ---------------------- 追 加 資 料 -----------------------------

上記NTTサイトに掲載の資料

Fletssquarerwin

古いデータと思われますが、RWINとか こうゆうのの仕様はぜんぜn進化してないので無問題。 

拡大し、分かりやすく加工すると

Fletssquarerwin_3

自XPで260,176バイトが最高速度だったという結果と、この図はだいたい合っている。

そして、これ以上RWIN上げても速くならないこともわかる(グラフは水平線)。

            このグラフに照らし合わせても、Vistaの66456っていうのが、いかに低いかがわかる。

            ユーザーの意志で増やせる仕様になってくんないと、(。-`ω´-) OSとしては不合格!

※今はこのグラフほど速度出ないと思います。光がまだまだ一般的でない頃の回線は混雑してなかっただろうし。この図のタテ軸の速度の3割引が今の速度かも。1局あたりの光回線数が少ないド田舎のほうが速いけど、ま・だいたいで。

 

 

 

- - - - - - - - - -- - - - - - - - - - -- - - - - - - - - - -- - - - - - - --用語の説明HP抜粋を追記

Networking Pack のテクノロジ

http://technet.microsoft.com/ja-jp/network/dd285679.aspx

 

Q. Receive-side Scaling とは何ですか。

Receive-side Scaling を使用すれば、新しいネットワーク アダプタ拡張を利用して、受信ネットワーク トラフィックの処理を複数の CPU またはコアに分散することができます。Receive-side Scaling は、システム負荷、またはネットワーク状態の変化に合わせて、受信ネットワーク トラフィックを動的に共有することができます。Web サーバー、ファイル転送、ブロック ストレージ、バックアップなどの多くのシナリオでは、ホスト プロトコル スタックを使用して、受信の割り込み処理 (および DPC) に関連する大量の作業を実行する必要があります。このようなシナリオにおいて、Receive-side Scaling は、秒単位のトランザクション数、秒単位の接続数、または総ネットワーク スループットを大幅に増加させることができます。

 

 

Q. TCP Chimney Offload とは何ですか。

TCP Chimney Offloadは、TCP (Transmission Control Protocol) トラフィック処理の、TCP オフロード エンジン (TOE) を実装した専用のネットワーク アダプタへの安定した自動オフロードを提供します。ネットワーク アダプタが、IP アドレス、使用ポート、パケット シーケンス番号などの重要な接続属性をメモリ内に保持する、ステートフル機能によって、トラフィックをオフロードするために必要な CPU サイクルが大幅に削減されます。ストレージ ワークロード、マルチメディア ストリーミング、その他の大量のコンテンツを処理するアプリケーションなどの大規模なパケット ペイロードとの長期接続に対して、TCP Chimney Offloadは、パケットの分割と再構築を含むネットワーク パケット処理タスクをネットワーク アダプタに任せることによって、CPU のオーバーヘッドを大幅に削減します。これによって、より多くのユーザー セッションをサポートする、または、より短時間でアプリケーション要求を処理するその他のアプリケーション タスクに CPUサイクルを開放することができます。

 

また、TCP Chimney Offload は、大規模なデータ転送を処理するときに最大の効果が得られます。一部のクライアント/サーバー データベース トランザクションのように、アプリケーションのワークロードの大部分が小規模なデータ転送で構成されている場合、TCP Chimney Offload を使用する利点はほとんどありませんこうしたデータ転送におけるワークロードは小さく、CPU 時間のほとんどはバッファ データの転送が完了していることをアプリケーションに知らせることに費やされるためです。

 

 

Q. NetDMA とは何ですか。

NetDMA は、Intel I/O Acceleration Technology (Intel I/OAT) などの高度な直接 メモリ アクセス テクノロジのサポートを可能にします。また、サポートするテクノロジを備えたサーバーに対して、メモリ管理の効率化とネットワーク パケット処理の高速化を実現します。

NetDMA の中心となる機能は、メモリ間のデータ転送による CPU への影響を最小限に抑えることによって、より効率的に、ネットワーク データ管理をサポートし、システムのオーバーヘッドを削減する機能です。通常、CPU は、ネットワーク アダプタの受信バッファからアプリケーション バッファへのネットワーク データの移動によって影響を受けますが、NetDMA を使用すると、DMA エンジンの使用をサポートすることによって、メモリ転送処理から CPU を開放します。また、DMA エンジンは、データをコピーする平凡なタスクから CPU を開放して、他のアプリケーションが使用できるようにします。

 

 

上の3つは止めたほうがいい説▼

ITpro様 - [Windows 7編]ネットワーク設定を標準で使ってはいけない(2010.9記事)

http://itpro.nikkeibp.co.jp/article/COLUMN/20100824/351391/  ← 詳しくはコチラ

(抜粋) しかし実際には、SNPを有効化すると、特定のネットワーク操作でパフォーマンスが低下するといった不具合が発生するケースが起こっている。 ~ 中略 ~  残念ながら現在(2010年9月)のところ、SNPを安心して使える状況にあるとはいえない。今後の改善は見込めるが、システムの安定運用を重視するなら、当面はSNPの利用を避けたほうがよさそうだ。

・TCP Chimney Offload の無効化
netsh int tcp set global chimney=disabled

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

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

自分のメモとして記載 ← まだ試してない。あとで結果追記します

2011.1追記: RSS無効化だけ試した結果: 下り128.5Mbps が→ 150.6Mbps ∑( ̄□ ̄;) 17.2%UP!?

たまたまかもしれない( 測定品質は96.8 )測るたびに結果がバラつくのはよくあることヾ(゜ー゜ゞ)( 尸ー゜)尸 狼狽

再テスト: 逆を試す > 10.3%DN > やはり

Vistaは Receive-Side Scaling(RSS)無効にしたほうがGood

計測条件=Vista なのでNetDMA項目がない ・Chimneyオフロードは元々disabled、なのでRSSのみ変更。

ちなみにTimeStampはわざと有効にしてます。ちょっと遅くなる点は了承の上ON

⇒ Win7: ChimneyとNetDMAは共存しない(どっちか)だし、ハードが非対応だと使えない。PC側でONしてても無駄。

⇒ 実際に使用してる機能かどうかを調べるコマンド(が載ってるサイト)を 下のほうに追加

 

---------------------------------------------------------------

 

CTCPについての説明

TCP 受信ウィンドウ自動チューニング

http://technet.microsoft.com/ja-jp/magazine/2007.01.cableguy.aspx

(抜粋) CTCP は、大きな受信ウィンドウ サイズおよび高い BDP 値を使用する接続に対して送信ウィンドウをより強制的に増加します。CTCP は、遅延の変動およびパケットロスを監視することにより、これらの種類の接続におけるスループットの最大化を試みます。~中略~BDP 値がより大きい接続ではさらにパフォーマンスが向上します。CTCP および受信ウィンドウ自動チューニングは、リンク使用率を増加させるために一体となって機能し、その結果 BDP 値が大きい接続でのパフォーマンスが大幅に向上します。

 

CTCP は、Windows Server "Longhorn" が実行中のコンピュータでは既定で有効になっています。また Windows Vista を実行中のコンピュータでは既定で無効になっています。"netsh interface tcp set global congestionprovider=ctcp" コマンドを使用して CTCP を有効にすることができます。"netsh interface tcp set global congestionprovider=none" コマンドを使用して CTCP を無効にすることができます。

 

---------------------------------------------------------------

 

ECN機能についての説明

ITpro様 - 第2回 ブロードバンド向けにTCP通信を強化 - Vistaネットワーク完全ガイド

http://itpro.nikkeibp.co.jp/article/COLUMN/20070314/264966/ 

もともと 受信ウインドウ・サイズRWINの自動調整(オート・チューニング)についての説明HPだから、仕様については参考になる。ちょい専門的。図解あり。 ただし、Vistaの自動調整の理想形というか仕様を説明してるだけなんで、2007の記事ということもあり Vistaのコレにバグがある点は触れてない。あくまでご参考に。

(抜粋)「ECN(明示的なふくそう通知)TCPの通信は,再送が発生したらふくそうが起こったと判断し通信速度を落とす」アルゴリズムを採用している。このとき,途中にあるルーターの状態などは一切関知しない。 だが,ECNを使えば途中のルーターでふくそうを起こしそうな状態を通知できるようになる。具体的には,ルーターでの処理利用が増え余裕がなくなると,ECNフラグをパケットに書き込む。このパケットをVistaが受け取ると,途中でボトルネックが発生しつつあることを知り,データの送出速度を抑えるのだ。 ただし,ECNを利用するには,通信を中継する機器と通信相手となるパソコンがいずれもECNに対応している必要がある。このため,VistaではECN機能をデフォルトでOFFにしている。

輻輳(ふくそう)は、物が1ヶ所に集中し混雑する様態をいう。by Wikipedia

ま、つまり、道路情報で「この先、渋滞」って出てたら 前もって速度を落とす機能なワケだ。

でもその電光掲示板が合ってないときが多いんで(´д`;)、もともとアテにしてないっつーことだ!

 

 

---------------------------------------------------------------

 

TCPネットワークに関する説明 \_('д'o) オススメ

予期せぬ挙動が!? 新機能 Scalable Networking Pack をご存知ですか? - Ask the Network & AD Support Team - Site Home - TechNet Blogs

http://blogs.technet.com/b/jpntsblog/archive/2010/03/23/scalable-networking-pack.aspx#Conf_2008R2

▲ Receive Side Scaling (RSS) 、TCP Chimney Offload 、NetDMAの説明やレジストリ位置、

     Vistaのnetshコマンドに不具合があるKB967224の説明、各ON/OFFのコマンドなどが満載。

 

例えば、(抜粋→)コンピューター上の各 NIC が TCP Chimney Offload をサポートしているかどうか、また、どの程度オフロードされているかは、以下の netsh コマンドで確認することが出来ます。(Vista不可)

C:\>netsh int tcp show chimneystats

Idx  Supp  Atmpt    TMax    PMax     Olc              FailureReason
---  ----  -----    ----    ----     ---              ------------
 11   いいえ  -n/a-       0       0       0                       -n/a-


  Idx           - システムで使用されるインターフェイス (NIC) インデックス
  Supp          - インターフェイス (NIC) は TCP Chimney オフロードをサポート
  Atmpt         - システムが TCP 接続オフロードを試行
  TMax          - NIC によってアドバタイズされたオフロード容量
  PMax          - システムで観察されたオフロード容量
  Olc           - 現在オフロードされている接続の数
  FailureReason - 前回接続のオフロードの試行に失敗した原因

 詳細については、'netsh int tcp show chimneystats <Idx>' を使用してください。

ウチはサポート:いいえだったよ!っつーか元々ChimneyはOFFにしてたわ ( 一旦Chimney をONにしてからstats )

 

Win7の NetDMA の状態についても、以下の netsh コマンドで表示することができます。(Vista不可)

C:\>netsh int tcp show netdmastats

TCP DMA 統計
---------------------------------------------------------
NetDMA を使用してコピーした合計バイト数    : 0
CPU を使用してコピーした合計バイト数       : 605
NetDMA コピーの合計エラー数                : 0

コレもON状態にしてからstats検証 > んでNetDMA がゼロだったら=使ってない=disabled でおkってことだね

 

---------------------------------------------------------------

 

2012.6追記

  • VistaにもNetDMAがある(上記「予期せぬ挙動が…」参照)。ただしnetshコマンドは無い。
    レジストリに設定する。NetDMAじゃなくEnableTcpaって名(正確にはTCPアクセラレータ)。ちなみにウチのVistaはハード的に非対応なのかな?
    EnableTcpa値は無かった。
  • netshコマンドはWindows本体の設定値なので(本来は)LANごとの設定は反映されない。
    たとえば有線LANと無線LANの2種類あると、それぞれ固有値が設定されている。レジストリのTcpip\Parameters中に\Interfacesがあり、更に中にアダプタ毎の設定がある。名前が16進数なんでワケワカランが、ウチはIP固定してるので有線・無線・1394接続の3つだと区別がつく。中にTcpWindowSizeなどが見える)。こっちも見直す必要ある気がする…  ⇒ よくわからんが直しておいた。
    ※上記「ネットワーク設定を標準で使ってはいけない」参照:SNPとは、通常はPC上のプロセッサが行っているネットワーク処理を、PC内部のNIC(ネットワークインタフェースカード)に担当させるなどしてプロセッサの負荷を下げる機能だなので、SNP無効なら各NICの設定は無意味かもしれないが何かの拍子に有効になっちゃった時のために(´∀`)

  • デバマネ(コントロールパネル>デバイスマネージャ>ネットワークアダプタ)にある有線と無線LAN、それぞれプロパティ>詳細設定タブでも設定する必要がある。⇒ 自分は実施済み。っつーか無線はaとかgとか電波の種類を固定する必要あったからワリと昔に当然のように設定してた。有線LANは設定項目が多くて、オフロードとか全部OFF、デュプレックスとか全二重にするといいらしい(未検証)。ウェイクアップは意味が分かるのでかなり以前に設定済。
  •  

  • そのほか
  • 再起動してみる。必要なくても。

    一時ファイルなどを大掃除してみる。

    時間を置いてまた計測してみる。10分・1時間・3時間・6時間・翌日… 

    安定してるかどうかが肝心。

    調整直後 一時的に速度UPしても意味ないと思う。誰かと 計測サイトの結果を張り合ってんじゃないし、3時間毎にnetshしなくちゃいけないPCなんか願い下げ。ましてや「測ると速いけどブツブツ頻繁に切れる」なんてもってのほか。

 

 

上り速度 Vista編

上り速度 Win7編(イマイチ)

SP1で修正された【速度関連】Win7の不具合

 

ブログTOPに戻る

トラックバック

この記事のトラックバックURL:
http://app.blog.ocn.ne.jp/t/trackback/201393/21093987

この記事へのトラックバック一覧です PC改造計画 【速度】VistaとWin7

コメント

専門的すぎて何を書いてるかわからないw

緑字で、説明を追記しました(o´・∀・`o)
ってーか、自分も調べながら書いてるから
かみくだいて説明できんw
つまりVistaは、何もしないとXPより遅い という事だ。

ここに辿り着いて救われました。Windows7だけ何でできないんだろ(ノ_・。)って困ってたんですけどBINGOでした。ありがと。

あ私、忍モ侍黒75の脳筋っす(^^;サイキン アカモ アゲタケドナ

ヽ(゜∀゜)ノなんかお役にたったかしらん
ビンゴでよかったw

あと、文末「w」が通じるFFXI人でヨカッタ www
赤あるといいですね~
猫で赤AFを着てみたかった!
赤か忍から始めたら後でラクだったかな~(´ェ`)と思います。

win7でのMTUやRWINを調べてて辿り着きました。大変参考になりました。
要所でフォントが色分けされてて読み易いですね。

コメありがとう!ヽ( ゚∀゚)/
最近熱意が薄れてきてBlogヤメようかと思ったけど続けようかな
(更新頻度が気まぐれなのは直す気なし

自分の結論、気持ちと同じなこの記事みて安心しました。
(やりたい事の結果は安心ではないが・・・・)
Comfortable PCなるソフトを見つけ自動解除のボタンも在り期待したが
変化なし。いろいろした後なのでWIN再インストしてなら・・・?(メンドイ)
よく分かっていらっしゃるんですね、とても参考になりました。
自分にとっては一番使えた情報でした。
気まぐれで構いませんので新しい情報や対処方見つけたら
是非更新お願います。

「一番使えた情報」と言ってもらえて嬉しい♪ ありがとう~

Win7の通信速度が激遅すぎて困っていたが、
「netsh interface tcp set global autotuninglevel=disabled」
を設定したら速度が10倍以上になりました。

ほぉほぉ、Win7はdisabledで速く (o´・∀・`o)!
Rwinとかどこかで調整するのでしょうか
情報コメぼしゅう♪ (検索で来た他の人のために)

あと、PC再起動しても速度維持してるか要観察です
っつーか、自分で試して検証すればいいんだよね(;^ω^)
気が向いたらテストして追記しますデス

再検証報告
・ Vistaはdisabledにすると遅くなる。今までと同じ。( 実験では速度1/4に低下;;)
(以前とは違うNetTuneの設定方法や 別の位置のレジストリ調整も試しましたが、結局、速度が落ちるばかりで ┐(゜~゜)┌ イミなし)
・ Windows7は、disabledにしRWIN調整すると速くなるPCもある模様 (全PCではない)
(私個人が各メーカーのPCを取り揃えてテストするのは不可能なので実テスト無。 再調査した結果です。)

なお、au光にしたら 2倍~3倍の速度の120~160Mbpsになりました。
(利用プロバイダの速度計測では300Mbps以上になりましたが、実用性の薄い結果なので無視)

ここまで速くなると回線速度が多少落ちても体感が無く、むしろ
ブラウザの反応・ファイル操作のしやすさ・ PC自体の反応の良さ・キー入力のしやすさ等のほうが重要なんだと体感しています。

Vista上り編を追加しました。
上りなのでこの記事とは別にし、2011/1月の投稿です。

ほとんどの速度計測サイトが「くだり」しか測らないように、
フツーは「のぼり」速度は気にしなくていいんですが、
とてもとてもノロ杉で気にしている方もいらっしゃるなので検証してみました。

でもWin7はいじりすぎて壊れたかもしれない(ノω・、)

私も
netsh interface tcp set global autotuninglevel=disabled
で速くなりました。
元々、500Kbps程度しか出ない環境ですが、
Win7にしたら40~200Kbpsという値になって困っていました。

大変助かりました。ありがとうございました。

報告コメありがとうございますヾ(・∀・o)ノ
自PCの場合はどうなのか、いちどは「autotuninglevel=disabled」試してみる価値ありますね♪

PCによってバラつきがあるのが、いまだに謎です。
ネットで情報を探しても、今もDisabledで速くなるPCと・ダメなPCが混在してる模様です。
自動チューニングdisabledすると活動を始める隠しパラメータ(レジストリ)がなんかあるんじゃないか?と思って探していますが、
分かりません。 ←速度UP前後のPC設定を1つ1つ比較するなんてメンドクサさ基地外レベル;; 更に、disabledにすると急に速くなる速度計測サイト・かえって遅くなるサイトが混在し(Flash系・Java系に関わらず混在) めんどくささMAXで・⌒ヾ(*´_`)放置してます。メーカーによって違う・HomeとProfessionalで違うというレベルになると、複数のWin7そろえないとダメなんでお手上げですワ
ヽ(  ̄д ̄;)ノ


私はwin7ですがautotuninglevel=disabledでは速度は変わりませんでした
netsh interface tcp set global autotuninglevel=highlyrestricted に設定したところ速度が16Mbpsから60Mbps程度まで向上しました

が、

なぜかウチの環境、PC立ち上げて暫く時間がたちふと速度を測ってみると16Mbps程にまで落ちているようです…
disabledに戻した後再度highlyrestrictedに設定すると速度は回復
そして無限ループ…
netsh interface tcp show global で速度が速い状態と速度が落ちた後、
確認してみても特に変更は見られませんでした…
どうすればいいんだ/(^o^)\

win7の上り編を見落としていました
ウチは不安定と言うよりも速度が落ちた後は手動で復旧していましたが
タブン大丈夫だと思います…
色々なサイトを梯子してきましたがもっと早くここに出会いたかった!
分かりやすくまとめていただきありがとうございます

お!別状況の報告が来ました!!
報告コメありがとうございます♪

わたしもね、何度も試してるんですが、やっぱウチのPCもDisableでは遅いんですわw
Highlyのほうが速いのは確実でした。

ただ、ごくたまに急に落ち込む時があるのが気になってしょうがない(;`ェ´)
調整のツボはどこなのか?
悩むときほど解決策は意外なところにあるんじゃないか?灯台もと暗し的に…
とか思って、デバマネ~インスタンスパスや、レジストリも細かく探してますが、
わからんwwwwww
Win7って 使ってないときファン音なくなるくらい静かになるし、
Vistaよりは確実に完成度高いと思うんですが
速度に関しては、不安定というか・調整方法が一定しないというか、
VistaやXPよりもメーカーの独自設定が反映されやすいんですかね~?
Disableのほうが速いPCと・遅くなるPCがあるのは、LANボードの部品によってちがうとか、
省電力を優先させた結果、LANも省電力になってるせいでスリープ復帰直後は遅いとか、
なにか単純な所がツボな気がします。

それか、どっかに「オマエの速度は上げさせん!!」的な隠しパラメータが設定されてるのかもw



2011/2/22に 出たWindows7 SP1で直るバグであるのを期待(儚い夢)

※参考: WindowsUpdateでSP1になります。
・Microsoft⇒ http://www.microsoft.com/downloads/details.aspx?FamilyID=c3202ce6-4056-4059-8a1b-3a9b77cdfdda&displayLang=ja
・Impressの詳しい説明記事⇒ http://internet.watch.impress.co.jp/docs/special/20110223_428706.html

大丈夫じゃなかったorz
PC立ち上げて8時間くらいたって再測定すると見事に落ちていました…

不安がありましたがSP1についさっきアップデートしたところでしたw
速度の方はわかりませんが一応うちの環境では特に目立った問題はなさそうで良かった…情報収集もせずにポチったものですから
速度を上げようとAvastのウェブシールドを切っていたのでネット不通の問題も起きず…直前に弄っててよかった(;゚◞◟゚;)

これでも速度が落ち込んだりしたら定期的にバッチファイル実行させるタスクでも組んじゃおうかと思っているところですwww
本当に最終手段になりますがw(´ε`;)

あらら;;しばらく様子を観察したほうがいいですね~
>PC立ち上げて暫く時間がたち
>8時間くらいたって再測定すると
ここらへんにポイントがある気がします。

PC起動してしばらくしてから起動するようになっているもの、
「バックグラウンドで起動する」設定になってるもの等、
PCが暇になると動き出すソフトやWindowsの機能です。

PC全体が重くなるのではなく、回線速度の低下だけの症状ならば、
その中で「ネット回線を使うもの」をピックアップするといいと思います。
例えばセキュリティソフトのアップデート、これは一定時間ごとに「なにか更新ある?」な問い合わせをしてますし、
JavaやFlashの他、フリーソフトでさえほとんどが「更新を自動的にチェックする」設定なってたりします。
動作がワリと重いものと言えばWindowsUpdate、コレも毎日決まった時間に動き出します。
(WindowsUpdate画面の左側「設定の変更」で変更可能)
XPの場合は「Microsoft」Updateを使う設定になってるとPCがチョー重くなる不具合もありますし、
けっこう後になって「なんだ、コレのせいだったのかYO!」って発覚することも多いですよね;;

つーか、思いつくまま書きましたが、
急に速度低下する問題に関しては、ウチはあまり役に立たないかもしれません ┐(・´з`・)┌
(毎日ではないものの、たまに発生するこの症状を治せていないんで)
ネットに散乱する情報のひとつとして参考程度にとどめてくださいwwww
必要は発明の母、困った点をどんどん調べていったら、いつのまにかちょっと詳しくなってたりしてますが、
まだまだ中途半端な知識でござんす(要勉強)

これからも、新情報わかりしだい追記してまいりますm(o´・ω・`o)m

これは来たかもしれません
2chでwin7関係のスレを巡回していたらこのような書き込みが…
-------------------------------------------------------
365 名前:名無し~3.EXE[sage] 投稿日:2011/02/26(土) 01:30:55.14 ID:C/mjqnK5
SP1あてたら速度落ちなくなったってことは
Win7の不具合だったの?
366 名前:名無し~3.EXE[sage] 投稿日:2011/02/26(土) 02:22:56.16 ID:9FrfDcbK
昨日からいろいろやってるが速度落ちる現象にはまだ会ってないな
治ったならそれでいい
367 名前:名無し~3.EXE[sage] 投稿日:2011/02/27(日) 00:33:31.85 ID:dfJB0sb4
これが原因だったのかな
The TCP receive window autotuning feature does not work
correctly in Windows Server 2008 R2 or in Windows 7
(URLです)support.microsoft.com/kb/983528/en-us
SP1に含まれてるのでSP1をインストールしていれば
HotFixは不要
-----------------------------------------------------
どうやらSP1当てた後に速度が落ちる現象にあってる人はいないようです
私も今のところ速度は落ちてないです
もしもこれで速度が落ちるようなら悪さしてるサービスがないか洗い出してみようと思います…

何度も書き込みすみません(m´・ω・`)m

キタ━━━━━━(゚∀゚)━━━━━━ !!!!!

貴重な情報アリガトウウウウウウッ
あんま2ch見ない&日本語のMSサイトには載ってない情報なので、自分には見つけられなかったワ!!
URLもありがとう ございます!
//support.microsoft.com/kb/983528/en-us 、これを訳すと
「XPとか、自動チューニング対象外のとこと通信すると、間違って自動チューニング無効にしてましたwww
その後どこと通信しても無効にしたまま放置、しばらく直らないっすwwww」な不具合∑( ̄□ ̄;)!

マジでバグだったか…
ごちゃごちゃ考えた事例よりも、テキトーにカンで答えた内容のほうが当たってた┐(´∀`)┌
わっはははははは(ヤケ)

なんどコメ頂いても構いませんよ!むしろwelcome、
有益な情報ありがとうございますー

まず初めに、このサイト見つけてほんとよかったです。

PC起動直後は速度がでるのに、しばらくくすると速度がとおても落ちる症状に悩んでいたのですが、netsh int tcp set global rss=disabled
RSSを無効にするこのコマンドを打つことにより解決いたしました。

ほんとにありがとうございました。
自分っと同じ症状で悩んでいる方も、ぜひ試してみるといいかもしれません!

>akitoさん
コメントありがとうございます。
【RSSを無効にすると安定】←コレがツボかも!
netshコマンドで速度改善できるなら、コストも手間もかからずいいですよね。
ウチはWin8が出ても1年は様子見ますし、
ちょこちょこ調整してVistaに頑張ってもらおうと思っています^^

時間かけて、ネットサーフィンしてたら
たまたまここへwave
それで記事を読んで、いろいろなコマンドをうってみたらなんと「SNP」を無効化するコマンドうったらどれでも速度落ちたorzwobbly
win7です。
おれのPC不運すぎわろたでも↑のような情報大変たすかります~lovely

>にまごーさん
ご報告ありがとうございます。
コマンド全滅ですか;;
あらら(ノд-。)

ホント、PCによって反応が違うんで、各自が試すしかないのが困り者。
netshコマンドはOKって出ても反映されない時がたまにあって
netsh interface tcp show globalで確認すると
変わってないщ(`д´щ)!っつう時もあるのも困り者。
あと、
Win7は、SP1から挙動ちがうかもしれません。
掲載のリンク先を見ても追加情報は何もありませんでしたが、
ウチのWin7の反応がなんか変わったのよね...
SP1から(一部ISPで)SNPが効くようになったとか?(謎)
もし
ネットワークが進化
>対応する設備やルータが増えた
>>修正でWindows7やVistaが頭よくなった(笑)
>>>自動チューニングが効くようになった…なら歓迎なんですがネ
プロバイダや回線業者によって設備がちがう=SNPなどの対応が違うんでしょうか?w
んで、相性いいPCだと速いとか?w
謎仕様は各自が調整する余地をなくし混乱を呼ぶばかり… ┐(´~`)┌

お世話になります。とても良い記事ですね。

コメントを投稿

Whois

  • アナタは今ココ!You are...

    ▲地図の[+]クリックで都市名

    ▼IPアドレスかドメインでおおまかな位置やプロバイダ分かる

人気な記事

最近の記事

FF11の地図(古いかも

管理人

  • ※末尾のスポンサーリンクは仕様により勝手に入るもので、当方とは関係ありません.
    ( ̄ω ̄)よろ。

    URLはコメント内にhttp://を
    略して書いてね(スパム対策)

    誤ってひっかかると、当方 が気付くまで長期間放置されます
    ( ノ Д ` )


    ※softbankからのスパム書き込みをblockしています。1書き込み1円くらいの貧乏なバイト君?
    ┐(´∀`)┌スマホで?ヒマだね
    マトモに働けよ

ユーザー画像