前回、Firefox高速化~TCP/IPを理解して、さらに速くなったfirefoxを高速化!にて
TCP/IPを一通り理解したつもりでした。

その時、ふと疑問が…。
モバイルの接続って、もしかして大量のTCP/IPのコネクションを生み出す
の原因になり得る?
通信速度が遅いと、TCP/IPのコネクション接続時間が長くなる?
途中で通信が切れると再送信される?
でもプロキシがあるし・・・???

その場では放置しましたが、きちんと調べてみました。

静的コンテンツに関しては、各キャリアのプロキシサーバが
この問題のクッションになるようです。

ところがところが、動的コンテンツの場合にはクッションに
なってくれません。
というよりクッションされては困ります。

と、するとやっぱり困るんですね。
経験上、昔iモードが流行った頃、モバイルは負荷かけるなぁ…。
コンテンツのサイズは小さいのになぁ…と
思っていましたが、そういうことだったんですね。
納得!

一人で納得しても仕方がないので、簡単に説明してみます。

回線速度が32Mbps、1秒間に32Mbだとすると、
40KB=320Kbのコンテンツを取得するのに、
0.1秒かかります。
0.1秒間、TCP/IPのコネクションが張られたままになります。
ちなみに、Bはバイト、bはビットで、1B=8bです。
光だと実測でこんなもんでしょう。

回線速度が3.2Mbpsだと、同じ40KB=320Kbのコンテンツを取得するのに、
1秒かかります。
1秒間、TCP/IPのコネクションが張られたままになります。

たいした違いはなさそうですが、実は大きく違います。
コンテンツの生成に1秒かかるとすると、
前者では、1.1秒間、TCP/IPのコネクションが張られたままになりますが、
後者では2秒。

実際にページを見ている人は、
ちょっと遅いな。モバイルだしな。
と思う程度ですが、100人来ると、話が変わってきます。
分かりやすくするために、
サーバは25個のTCP/IPのコネクションまで耐えられるとします。
同時に100個処理できるとします。

25人までは、普通に見ることができるので、
32Mbpsの場合、1.1秒で処理が終わります。
26人目から50人目までは待たされるので、
1.1秒後に1.1秒かかります。
合計2.2秒。
同様に、51人目~75人目までは3.3秒。
同様に、76人目~100人目までは4.4秒ですね。

ところが、3.2Mbpsの場合、
25人目までは、1+1で2秒。
26人目から50人目は4秒。
51人目から75人目は6秒。
76人目から100人目は8秒。

明らかに渋滞します。
ナローバンドからの動的コンテンツへのアクセスは、
渋滞の原因になるんですね。

モバイルサイトって難しいです。
最近、あまりモバイルサイトを作っていませんでした。
やっぱりモバイルはきちんと抑えないとダメですね。

ちなみにこの状態の解消に役にたつのがリバースプロキシです。
リバースプロキシを使うと、この渋滞をある程度緩和してくれます。
リバースプロキシもいろいろ調べてみたのですが、また後日。

いやぁ、知識を得るのにも、知識の裏づけをするのにも、
応用情報技術者試験は便利だなと思いましたが、
これほど考え方が変わるとは思っていませんでした。

インターネットって奥が深いです。
やっぱりきちんと仕組みを理解してないとダメですね。
ボクはよく
2つ上から俯瞰する。2つ下までは理解する。
ということを言ってますが、下位のレイヤーを
理解していて使うのと、理解していなくて使うのは全然別物です。
ホントは知らなくてもいいんですけどね。
知っている人をきちんと見抜くことができるならば。

昔、上司に言われた一言です。

もとくんはフレームワーク作ってきたから何も言うことないよ。
フレームワークを使っているけど、
フレームワークを理解していないエンジニアが多い。
それはエンジニアじゃなくて、フレームワークオペレータだ。

確かに。改めて実感しました。
そして更に、フレームワークエンジニアになるには、
その下位のプログラムの仕組み、
それからプログラムを支えるサーバやプロトコルの仕組み
を理解することは必須です。

今フレームワーク作ると、面白いフレームワークが作れそうです。

間違いございましたら、ご遠慮なくご指摘ください。
むしろ指摘してください。

参考サイト)
http://www.atmarkit.co.jp/flinux/rensai/apache2_04/apache04a.html
http://www.thinkit.co.jp/free/marugoto/2/1/3/1.html


ガッテンしていただけましたでしょうか?
ガッテン!してランキングに1票!
ガッテン!してランキングに1票!




もと東大生もと社長の自由奔放日記 Just do it now! このエントリーをはてなブックマークに追加



ブログランキング参加中です。
ご協力ありがとうございます。 m(. . m
よろしければ「ポチッとな」って言いながら押してください。

ブログランキング まじめな話題 キラキラ王冠2キラキラブログセンター by GMOまじめな話題ランキング9位キラキラ王冠2キラキラ(2009年12月9日現在)

にほんブログ村 経営ブログ 仕事術へ
にほんブログ村 キラキラ王冠2キラキラにほんブログ村仕事術ランキング5位キラキラ王冠2キラキラ
(2009年12月14日現在)

blogram投票ボタン

東大生ってどんなこと考えてるの?
東大生ブログランキング

もと東大生もと社長もとくんは何をかんがえているの?
blogram投票ボタン
自分のブログ解析ができるよ

これ、自分のブログでやってみると結構面白いです。