twin's 曰く、
最近「ウソクセーナー」と思うものが一つある。週刊アスキーで毎週、FTTHの速度ランキングを出しているのだが、TEPCO光がいつも92Mbpsほどでトップにランクされている。
TCPのチューニングで悩んだことがある人ならわかるだろうが、TCPやIPヘッダのオーバヘッドや、その他のレイヤのオーバヘッドを考えると、これはほぼwire speedに近い。
みんな、本当にそんなスピードでてるかぁ?
「ウソクセー」と思う最初の理由は例えばXPのデフォルトのウィンドウサイズ(RWIN)である64KではRTTが10mを超えればこんなスピードはまずでないということである。ということはRFC1323のスケーリングオプションを使ってウィンドウサイズをあげているわけだけど、それって回線品質が悪い経路を経由するサイトにアクセスするときはかえってトータルの平均するープットを落とさないのだろうか?selective ACKはちゃんと同時に有効にしているのかな?
ちなみに、RTTが50mくらい(沖縄から東京にアクセスするくらい)になると、64KBのRWINではせいぜい9Mbpsくらいしかでないのは計算すればわかる。
二番目の理由はTCPのスロースタートがあるから、どうしても平均するとwire speedでないだろう?ってこと。ってことは、あの手の速度測定サイトは最初のスロースタートの間の測定値は捨てる、ということなのかな?
三番目の理由はいくらクライアント側のウィンドウサイズを大きくしても送信側の送信バッファのサイズを大きくしてやらないと意味がないということ。実際のスループットは受信側、送信側どちらか小さいほうのウィンドウサイズで制限される。送信側バッファのサイズを大きくするのはいいが、これって普通カーネルのnon paged poolからとられるだろうから、メモリたくさんつんどかないとそのあたりでパフォーマンスのボトルネックになりそうだ。
で、実際そこまでTCPのパラメータいじってチューニングした結果の速度ランキングって意味あるのかな?
ちなみに、うちはB Fletsのニューファミリータイプだが、x-PONって複数のend pointで大域が共有されていることと、上りと下りで最低保証帯域が違う場合があるってことはあまり知られていないような気がする。うちの場合Flets スクエアで計るとせいぜい50Mbpsだな。