カテゴリ
ブログ内検索
ブログランキング参加中!

にほんブログ村 その他日記ブログ オタク日記
blogram投票ボタン

RSSフィードリーダー
Archiveα+Daycount
最新コメント
最新トラックバック
リンク
ブロとも様一覧

日だまり喫茶店 -felice

たっつんの日常日記

誰よりも楽しく普通のこと

とある天邪鬼の暇生活

青く輝く月の下で ~Under the shining B.L.U.E. moon~

聖徳TAISHIの気まぐれブログ

カキさんの面白いものを探し隊

とある猟奇の上段蹴撃

好きなゲームを気の向くままに!

LEVEL5-judgelight-のギターソロが弾ける程度の能力を目指して

小説家になりたい小者の世迷言

京童ノ口ズサミ十分ノ一ヲモラスナリ

独り身オタクとハムスター

踏切横丁

読書感想未満、駄文以上。(ライトノベル感想他)

狐桜の体験記

洋画すきやねん

地方で副業ブログ

Henry Le Chatelier

ハレイロな日々 

★ Supaku Blog ★

ケフィアのまったりダラダラ

それでも地球は回ってる

さとしのブログ

Twiceのリリカルでマジカルでしかもvividな創作ブログ

Advance Every Diary~日録自叙伝~

ニコ動とアニメとゲームに追われる日々(>_<)

空を飛部

駄文日記を書いてる人

朱雀 翔

Author:朱雀 翔
はじめまして、管理人の『朱雀 翔』と申します。
兵庫県在住です。

良く言えば古き良き80年代アニメブームの生き残り。
悪く言えば化石化した元アニオタです。
現在はオタクと呼ぶには知識も少なく、ただのアニメファンになっております。

仕事は、パソコン教室の講師と文筆業のWワークです。
文筆業は主にインターネットを活躍の場とするゲームシナリオライターの仕事をしており、ドラマやアニメの脚本も書けます。
文章は凡庸で面白味に欠けますが、「誰が読んでも分かりやすい」との評価を得ております。

人見知りですので、初対面では口数少なく、大人しい印象を持たれます。

○好きなアニメ
アニメは雑食ですので、BL系や極端な幼児向け以外なら何でも見ます。

○その他
アニメやゲーム動画などの二次制作物を好みます。

こんな管理人ですが、どうぞよろしくお願いします。

ブロとも申請フォーム

この人とブロともになる

朱雀 翔の仕事先

宵闇幻影奇譚
現代伝奇ファンタジーPBW 宵闇幻影奇譚


朱雀 翔の異界(個室)
タイガ警備保障 心霊対策課『分室』バナー


あなたと!あるてぃめっとステージ あなたと!らぶてぃめっとステージ


↓以下、過去の仕事先↓
Catch the sky ~地球SOS~


バロックナイトイクリプス
友人サイト様
【~Ambitious~】えぼるぶ
登録検索サイト様・他

駄文同盟.com 【全創作系個人サイト検索エンジン!】 ディレクトリ型検索エンジンdtn 検索エンジン Mono Search

バナーリンク
カウンター

早苗さんのお告げ

訊きたい事を念じてから
早苗さんに訊いて見ましょう。

自己満足に過ぎませんが、どうにか100Mbpsを突破しました

 こんにちは、朱雀です。
 本日も懲りずに、ネット速度について書こうと思います。
 設定をあれこれ弄り過ぎたせいか、一時期不調に見舞われました……。しかし、リカバリーは(面倒なので)諦めて、更に試行錯誤を繰り返し、どうにかこれくらいの数値を出せるまでになりました。

 計測に使ったサイト様は『Wild Speed』を使用しました。
 新設サイトだと思われますので、オーバー100Mbpsの計測にも対応済みです。
 計測マニアの間では信頼性の高い数値を叩き出すと言われている『Radish Network Speed Testing』様の計測システムを、ベースにしているようですね。

フレッツ光ネクストHS 速度計測

■Wild Speed
 http://wild-speed.jp/netspeed/index.html

■Radish Network Speed Testing
 http://netspeed.studio-radish.com/index.html

★ブログ管理人の設定
 設定はそれぞれのパソコンの環境下に左右されますので、これが絶対! というものではありません
 以下の設定とその方法は、参考程度に見て頂ければ幸いです。

 順番に設定した理由について説明致しますが、なにぶん理数系に弱い中年オヤジですので、理論的な説明はリンク先を見て頂く事になります。予めご了承ください。

●まずは環境公開(マシンがショボイとか無しでお願いしますw)
・OS:Windows7 Ultimate 32bit版
・メモリ:2GB
・回線:NTT西日本 フレッツ光ネクスト ファミリー・スーパーハイスピード隼
・ISP:OCN
・計測所在地:兵庫県伊丹市

 まずはWindows7では定番の設定から始めます。
 下記の設定が、試行錯誤の末に導き出された結論と成果になります。
TCP グローバル パラメータ

●上記のパラメータの確認方法
 アクセサリにあるコマンドプロンプトを管理者権限で開き、『netsh int tcp show global』と入力してEnterキーを押すと表示されます。
 以下のnetshで始まる各種コマンドは、全てコマンドプロンプトで行います。

1.Recieve-Side Scaling状態
・概要:TCPの受信制御を複数のプロセッサ(コア)に分散化して効率化する機能です。
・入力コマンド:netsh int tcp set global rss=(enabled、disabled、defaultを選択)
(例:netsh int tcp set global rss=enabled)

 多くのサイト様が、この機能を『disabled』にした方が良いと書かれています。
 しかし、ここはあえて『enabled』に設定しております。
 パソコンというものはネット以外にも、多くのプログラムがバックグラウンドで起動しております。
 マルチコアで作業台(コア)が余っているのに、一つの作業台で他のプログラムと奪い合って仕事をさせるのはナンセンスです。
 不具合があるから使わない方が良いと専門サイト様でも言われておりますが、記事内容が3年前と古いので、OSもアップデートされている現状では今も不具合が残っているのかどうかも怪しいです。
 今のところ深刻な問題に直面した事はありませんので、これを使わない手はありません。

 忘れがちで意外な盲点となりやすいのですが、ネットワークカードのドライバーは、チップのメーカーサイトからダウンロードし、常に最新のものを使って下さい
 上記のリンク記事に挙げられているNICに関する不具合が、改善されていると思われます。

 肝心の速度ですが、私の環境では無効にしても、計測するたびに数十Mbps以上(100Mbps以上の時も)変動するので、結論としては、ある程度速度の出る環境下では、殆ど変わらないかも知れません……。
 数Mbps上昇しても、変動幅を考えれば誤差の範囲です。

2.Chimney オフロード状態
・概要:TCPのネットワーク制御をプロセッサから、NIC上のTCP Offload Engineに処理させて負荷を軽減する機能。
NIC=ネットワークインタフェースカードの略
・入力コマンド:netsh int tcp set global chimney=(automatic、enabled、disabled、defaultを選択)

 アクセサリにあるコマンドプロンプトを管理者権限で開き、『netsh int tcp show chimneystats』と入力しますと、以下のような結果が表示されます。
 『Supp』の部分が『いいえ』になっていましたら、この機能には対応しておりませんので『disabled』で良いかと思います。
TCP_chimney_offload

 TCP Chimney Offload の『automatic mode』 が有効になる要件は以下の通りです。
1. 10GbE(10ギガビット・イーサネット)への対応が必要
2. Round trip time (RTT) が 20 ミリ秒以下
3. 該当の接続にて 130 KB 以上の通信が発生

 10Gbのイーサネットを利用可能な企業向けの機能です。
 1Gbのイーサネットしか利用できない一般家庭用のパソコンでは、恩恵を受けられません。
 不具合等に関係なく『disabled』にしておいた方がいいですね。

3.NetDMA状態の変更
・概要:NICから直接メモリーにアクセスできるようにし、効率化する機能。
・入力コマンド:netsh int tcp set global netdma=(enabled、disabled、defaultを選択)

 面倒ですが、再びアクセサリにあるコマンドプロンプトを管理者権限で開き、『netsh int tcp show netdmastats』と入力します。
 すると以下のような画面が出ます。
NetDMA

 NetDMAを使用してコピーした合計バイト数が『0』であれば、こちらも対応しておりませんので、『disabled』にしても問題ありません。

 また、NetDMAを使えるようにしたいという場合は、以下の要件を満たしておく必要があります。
1.BIOSで有効に出来ること。
2.nicがインテル®I / Oアクセラレーション·テクノロジー (I/OAT)をサポートしていること。
 具体的にはIntel 5000 シリーズチップセットなど(サーバー用)が該当します。

 また、NetDMAと一緒にTCP Chimney Offloadを使用することはできません。
 ハードウェアサポートおよび設定が両方とも有効になっていた場合は、TCP Chimney Offloadが優先されます。

※注意事項
 realtek製(カニ)のチップでは、この機能は使えません。
 インテル®I / Oアクセラレーション·テクノロジー(I/OAT)は、Intel製のNICにのみサポートされております。
 上記インテル®I / Oアクセラレーション·テクノロジー(I/OAT)が機能するためには、受信側スケーリング (RSS) を有効にする必要があります。

4.Direct Cache Acess (DCA)
・概要:ネットワークコントローラが、直接CPUキャッシュにデータを送るようにして遅延を少なくする機能。
 ただし、NICが対応している必要あり。
・入力コマンド:netsh int tcp set global dca=(enabled、disabled、defaultを選択)

 nicがIntel製で、インテル®I / Oアクセラレーション·テクノロジーに対応した製品であれば使用できます。
 上記の理由により、Realtek製やBroadcom製のnicでは、この機能が使えません

5.受信ウィンドウ自動チューニング レベル
・概要:RWINなどの各種パラメータを、自動で最適化する機能。
・入力コマンド:netsh int tcp set global autotuninglevel=(disabled、highlyrestricted、restricted、normalを選択)
・パラメータ
 disabled:チューニング無効(Windows本来の状態)
 highlyrestricted:かなり制限されたチューニング状態
 restricted:一部制限されたチューニング状態
 normal:既定のチューニング状態

 RWINなどの数値に影響を与えますので、この部分の設定を変えれば速度が大きく変わります。
 多くの設定紹介サイト様が、『highlyrestricted』にすれば速度が上がったと報告しております。
 遅くなったと感じましたら、『normal』に戻して下さい。

6.アドオン輻輳制御プロバイダー
・概要:ごく単純な説明になりますが、回線の交通整理を行う機能です。
・入力コマンド:netsh int tcp set global congestionprovider=(ctcp、disabled、defaultを選択)
・パラメータ
 ctcp:Compound TCPを有効にする
 disabled:標準を有効にする
 default:既定(=disabled)

Windows Vistaより採用された新機能ですが、不具合(バグ)によりWindows7からは『disabled』がデフォルト設定になっております。
 いいとこ取りなハイブリット方式のTCPですので、使ってみて問題がなければ理想的なTCPだと言えます。
 なので私は、あえて使い続けますw

(参考サイト様)
■TCP各バージョンの輻輳制御の観察
 http://www.net.c.dendai.ac.jp/~yutaro/

7.ECN機能
・概要:こちらも単純ですが、再送を減らして速度を上げる機能です。
・入力コマンド:netsh int tcp set global ecn=(enabled、disabled、defaultを選択)

 この機能も10Gbのイーサネットが使える必要がある為、完全に企業向けの機能になります。
 問答無用で『disable』にしましょう。

8.RFC1323タイムスタンプ
・概要:
・入力コマンド:netsh int tcp set global timestamps=(enabled、disabled、defaultを選択)

 実効データ帯域が約0.8%程度減少しますので、速度が若干低下します。
 しかし、不要なタイムアウト再送による転送効率の悪化を改善できますので、『enabled』にする事で通信精度が良くなり安定します。
 特に長距離通信において恩恵を受ける事が出来ます。

●その他

1.Qosパケットスケジューラの無効、または設定変更
Qosパケットスケジューラ無効

 この機能は、通信の目的に応じて最適な帯域を割り当て、一定の通信速度を保証する技術です。
 一見しますと有効の方が良さそうに思えますが、その機能ゆえに、システムがビジー状態の時には帯域を絞り、回線速度を意図的に遅くしてしまう機能でもあります。
 マシンスペックに余裕のないPCの場合でも、無効にしておいた方が良いと思われます。
削除すると不調の原因となりますので、無効にする場合はチェックを外すだけにして下さい。

 無線LAN使用時、頻繁に回線が切断する場合や、Wi-Fi製品のインストールに失敗する場合も、この機能を無効にする事で改善されるようです。

【追記】
 完全に無効にしたくない場合は、以下の方法もあります。
 ただし、システムに回す為に確保された20%の帯域を失いますので、その分システムパフォーマンスが低下するデメリットもあります。

☆設定方法
1.スターメニュークリック → プログラムとファイルの検索 → 『gpedit.msc』と入力してenter。
2.コンピュータの構成 → 管理用テンプレート → ネットワーク → QoS パケットスケジューラと辿る。
3.そのフォルダにある『予約可能な帯域幅を制限する』をダブルクリック → 未構成 → 有効にし、帯域幅の制限の値を『20% → 0%』に変更して適用をクリック。

Qosパケットスケジューラ設定1

Qosパケットスケジューラ設定2

2.デバイスマネージャー内にあるネットワークアダプターの設定

(参考)
■workeesメモ|NIC詳細設定 有線LAN
 http://workees.wiki.fc2.com/wiki/NIC%E8%A9%B3%E7%B4%B0%E8%A8%AD%E5%AE%9A%20%E6%9C%89%E7%B7%9ALAN

 Realtek PCIe GBE Family ControllerとIntel(R) PRO/1000 MT Desktop Connectionについて、細かい設定が掲載されております。

※注意点
 当ブログの設定を参考にされる場合は、受信側スケーリングを『有効』にしておいて下さい。
 そうしないとRecieve-Side Scaling(RSS)の設定をenabledにしても有効になりません。
 お気をつけ下さい。

3.TcpAckFrequency設定
 あくまでもネットゲームの応答性を上げる設定ですので、ゲームをしない人はそのままで大丈夫です。
①[regedit.exe]を管理者権限で開きます。
②[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces]
③その下の階層にあるフォルダのどれかが、使用しているネットワークですので探します。
④[TcpAckFrequency]をDWORD値で作成。
⑤16進数にて『1』に設定。(Windows7/vista/XP)

(参考)
■SunSister|TcpAckFrequency(TAF)をチューニングしてネットワークの応答速度を上げる
 http://www.numlockz.com/archives/868

4.NTTフレッツ光のMTU設定と代替DNSの設定

(参考)
■矛盾した日記ブログ|ネットの表示が最近遅いと感じたら、お試し下さい(Windows7)
 http://suzaku7.blog87.fc2.com/blog-entry-856.html

 以前に取上げた記事が役に立ちそうです。
 代替DNSの設定については最終手段とお考えください。
 国内サイトのみの利用であれば、デフォルトのDNS設定の方が速い場合もあります。



 最後に……
 上記で紹介しましたSNP(Scalable Networking Pack)の多くは、大部分が10Gbeに対応した企業向けの仕様である事が分かります。
 1Gb程度のイーサネット環境しか使えない上に、ベストエフォートで帯域の全てを使いこなせない一般家庭のパソコン環境下では、無理にSNPを使っても、殆ど効果が望めないように思われます。
 それでもあえてRSSを使うのは、4つもコアがあるのに仕事させてやれよwという思いと、一つくらいはSNPの機能を使えないかな? という願いや抵抗でもありました。

 かなりごちゃごちゃした内容で恐縮いたしますが、その分、内容を凝縮しております。
 一つ一つの内容をじっくり読んで頂ければ、メリットとデメリットも記載しておりますので、何が必要で何が不要な機能なのか、ご理解いただけるかと思います。
 あとは計測をしながら試行錯誤を繰り返して頂き、ベストな設定を導き出して頂くだけです。
 ネット回線の速度でお悩みの皆様のお役に立てる事が出来ましたら幸いです。

 なお、レジストリやコマンドプロンプトによる設定変更はリスクを伴います。
 不具合が生じましても当方では一切の責任を負いかねますので、どうか自己責任でお願いします。

テーマ:ネットワーク関連
ジャンル:コンピュータ

Comment

非公開コメント

class= class= class=tltl class=tltl class=tl class=tltltltltltlp class=tltltltltl