D21HW on FreeBSD 8.0-BETA1 速度と RTT
D21HW の速度とか RTT とかをちょっと調べてみる。
まずは ftp.iij.ad.jp に接続して適当なファイルを取ってくる。
ちなみに取ってきた時刻は午前 4時なのでネットワークは空いているはず。
ftp> pwd Remote directory: /pub/FreeBSD/releases/amd64/ISO-IMAGES/8.0 ftp> get 8.0-BETA2-amd64-bootonly.iso local: 8.0-BETA2-amd64-bootonly.iso remote: 8.0-BETA2-amd64-bootonly.iso 200 EPRT command successful. Consider using EPSV. 150 Opening BINARY mode data connection for 8.0-BETA2-amd64-bootonly.iso (47278080 bytes). 100% |*************************************| 46170 KB 699.72 KB/s 00:00 ETA 226 File send OK. 47278080 bytes received in 01:06 (699.17 KB/s) ftp> quit 221 Goodbye.
窓際とはいえ室内で下り 5.6Mbps 出れば十分でしょう。
FreeBSD 7系では弄らないと速度が出ないという話を聞いたので、進化しているっぽいです。
次は RTT なんだけれども、これが興味深い。
halfrack@halfrack> ping -c 5 www.google.co.jp ~ PING www.l.google.com (66.249.89.104): 56 data bytes 64 bytes from 66.249.89.104: icmp_seq=0 ttl=248 time=339.119 ms 64 bytes from 66.249.89.104: icmp_seq=1 ttl=248 time=286.154 ms 64 bytes from 66.249.89.104: icmp_seq=2 ttl=248 time=293.411 ms 64 bytes from 66.249.89.104: icmp_seq=3 ttl=248 time=281.538 ms 64 bytes from 66.249.89.104: icmp_seq=4 ttl=248 time=299.209 ms --- www.l.google.com ping statistics --- 5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 281.538/299.886/339.119/20.527 ms halfrack@halfrack>
何にもしてないと 300ms ぐらいという結果に。
次に、裏で ssh して Enter キーを押しつづけるなどして、てきとーなトラフィックを発生させた直後に ping をするとこうなる。
halfrack@halfrack> ping -c 5 www.google.co.jp PING www.l.google.com (66.249.89.99): 56 data bytes 64 bytes from 66.249.89.99: icmp_seq=0 ttl=248 time=79.377 ms 64 bytes from 66.249.89.99: icmp_seq=1 ttl=248 time=66.809 ms 64 bytes from 66.249.89.99: icmp_seq=2 ttl=248 time=72.917 ms 64 bytes from 66.249.89.99: icmp_seq=3 ttl=248 time=69.817 ms 64 bytes from 66.249.89.99: icmp_seq=4 ttl=248 time=67.127 ms --- www.l.google.com ping statistics --- 5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 66.809/71.209/79.377/4.639 ms halfrack@halfrack>
これだと 70ms ぐらいで戻ってくる。
300ms と 70ms じゃ shell を叩くときに大違いなので、挙動をちょっと詳しく見ることとする。
とりあえず 0.1s 間隔で ping をぶっ放してみるとこんな感じ。
halfrack# ping -i 0.1 -c 30 www.google.co.jp PING www.l.google.com (66.249.89.99): 56 data bytes 64 bytes from 66.249.89.99: icmp_seq=0 ttl=248 time=327.723 ms 64 bytes from 66.249.89.99: icmp_seq=1 ttl=248 time=334.889 ms 64 bytes from 66.249.89.99: icmp_seq=2 ttl=248 time=421.948 ms 64 bytes from 66.249.89.99: icmp_seq=3 ttl=248 time=500.062 ms 64 bytes from 66.249.89.99: icmp_seq=4 ttl=248 time=587.942 ms 64 bytes from 66.249.89.99: icmp_seq=5 ttl=248 time=674.883 ms 64 bytes from 66.249.89.99: icmp_seq=6 ttl=248 time=752.875 ms 64 bytes from 66.249.89.99: icmp_seq=7 ttl=248 time=1151.535 ms 64 bytes from 66.249.89.99: icmp_seq=8 ttl=248 time=1099.027 ms 64 bytes from 66.249.89.99: icmp_seq=9 ttl=248 time=997.196 ms 64 bytes from 66.249.89.99: icmp_seq=10 ttl=248 time=913.817 ms 64 bytes from 66.249.89.99: icmp_seq=11 ttl=248 time=821.750 ms 64 bytes from 66.249.89.99: icmp_seq=12 ttl=248 time=719.781 ms 64 bytes from 66.249.89.99: icmp_seq=13 ttl=248 time=618.830 ms 64 bytes from 66.249.89.99: icmp_seq=14 ttl=248 time=517.432 ms 64 bytes from 66.249.89.99: icmp_seq=15 ttl=248 time=416.186 ms 64 bytes from 66.249.89.99: icmp_seq=16 ttl=248 time=313.800 ms 64 bytes from 66.249.89.99: icmp_seq=17 ttl=248 time=217.415 ms 64 bytes from 66.249.89.99: icmp_seq=18 ttl=248 time=118.485 ms 64 bytes from 66.249.89.99: icmp_seq=19 ttl=248 time=52.324 ms 64 bytes from 66.249.89.99: icmp_seq=20 ttl=248 time=49.372 ms 64 bytes from 66.249.89.99: icmp_seq=21 ttl=248 time=46.790 ms 64 bytes from 66.249.89.99: icmp_seq=22 ttl=248 time=44.885 ms 64 bytes from 66.249.89.99: icmp_seq=23 ttl=248 time=52.809 ms 64 bytes from 66.249.89.99: icmp_seq=24 ttl=248 time=50.509 ms 64 bytes from 66.249.89.99: icmp_seq=25 ttl=248 time=48.205 ms 64 bytes from 66.249.89.99: icmp_seq=26 ttl=248 time=45.321 ms 64 bytes from 66.249.89.99: icmp_seq=27 ttl=248 time=54.265 ms 64 bytes from 66.249.89.99: icmp_seq=28 ttl=248 time=49.298 ms 64 bytes from 66.249.89.99: icmp_seq=29 ttl=248 time=46.840 ms --- www.l.google.com ping statistics --- 30 packets transmitted, 30 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 44.885/401.540/1151.535/353.348 ms halfrack#
icmp_seq=18 あたりで何かが切り替わってる雰囲気。
トラフィック量がある程度を越えると搬送波のチャンネル数が増えるとかそんな感じなんでしょうね。
とりあえず、一度 RTT が 70ms になれば、後は 1s 間隔で ping を投げつづければ 70ms をキープするようなので、 ssh をするときは何らかの方法で 1pps ぐらいのトラフィックを発生させてやると吉。
64 bytes from 66.249.89.99: icmp_seq=98 ttl=248 time=69.306 ms 64 bytes from 66.249.89.99: icmp_seq=99 ttl=248 time=68.033 ms --- www.l.google.com ping statistics --- 100 packets transmitted, 100 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 63.802/70.124/106.973/6.772 ms halfrack@halfrack>
これで快適な emobile 生活が送れるに違いない。