(toppers-users 2152) Re: TCPの応答が遅れる

Muraki h_muraki @ avalngsk.co.jp
2005年 9月 26日 (月) 09:27:37 JST


苫小牧高専、情報工学科 阿部様

以前こちらに通信端点について質問させていただきました。協栄エレクトロニ
クスの村木です。

回答をいただきましてありがとうございます。

小峰とは同じ開発を進めています。
toppers-users 2151について補足させていただきます。

> >  今回の現象は3フレームを5秒毎に自動更新させるWEBページによるクライア
> >ントからのGET要求への応答が遅くなる現象ですが、その後の調査で以下の
> >ことが判りました。
> 
> まず、WWW システムでは、WWW サーバから先にコネクションを切断するため、
> WWW サーバ側のタスク〈TCP 通信端点〉は、約 1 分間 Time Wait 状態になります。
> この期間は、コネクションの確立を受け付けません。
> 

  今回のWEBサーバーはHTTP1.1の持続的接続により1ページ表示毎にサーバー
から回線を切断することがありませんので、今回の現象が約1分間のTime Wait 
状態によるものでは無いと考えていますが、この認識で誤りは無いでしょうか。

> >  3)TCP送信が遅くなる要因について考えられることがありましたらお教え
> >     ください。
> 
> 通信端点が Time Wait 状態になることが原因だと思います。
> これは、TCP の仕様上避けられません。
> 従って、Time Wait 状態は約 1 分で終わりますので、60 秒 / 5 秒で、
> 通信端点を 12 個以上にして試してみてください。
> 

  TCP送信はサンプルにありましたput_str()を使用して行っています。
  TCP送信に掛かる時間は、put_str()実行の前後で時間差を計測したものとな
  っていますので、今回は接続状態でTCP送信に時間が掛かっていることにな
  ります。

  他のタスクがCPUを数秒間占有してTCプロトコルスタックが動作できないため
  TCP送信が遅れることが考えられますが、その他に考えられる要因があれば
  お教えください。
  
よろしくお願い致します。