- ベストアンサー
ネットワーク遅延の原因と解決方法について
- プログラムをネットワーク上で実行する際の実行時間の差異やネットワークの問題について質問があります。
- 実行時間の差異は、ネットワークの遅延が原因である可能性があり、WireSharkを利用してパケットを調査しました。
- TCPの重複ACKや再送信、前のセグメントの喪失などの問題があり、これらが遅延の原因となっているかどうか確認したいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まず前提として、 スタンドアロンの場合、自らのプログラムやデータはメモリー上に格納され 更新など行っても、実際にはファイルに書かれるのでは無くメモリー上で更新されます。 なので、物理的なアクセスの発生が少なく高速で動作します。 しかしネットワークの場合は、「共有」という概念が働く為なるべくメモリーで 処理するのでは無く物理的なファイルに更新がかかるようになります。 ※このあたりはソフトの設計にも共有の仕方によりOSの制御にもよりますが.... また、それらの読み込み・更新毎にネットワークを使ってデータやり取りする為、 ネットワークへの負荷が掛かること、ネットワークの混雑具合に影響される事など 速度低下する要因が多くなりますので、ネットワーク上のデータを利用するという事は こういう事だと理解してもらう必要があります。 そして、パケットのエラーの内容を見ていると、ネットワークで障害が発生していますね。 原因としては、ケーブル・HUB・ルータ・NICなど機器全てを疑う必要があります。 まず、同じ事を複数のパソコンで実行して、同じような状況になる端末を特定し、 その影響範囲を調べます。 結果、その範囲に使ってる機器が特定されますので、 その機器を交換して問題ない事を検証すれば良いと思います。
その他の回答 (1)
- sidewiner_12
- ベストアンサー率0% (0/1)
動かすプログラムとデータ量にも夜と思いますが、 通信速度の問題ではないでしょうか。 一般的なネットワークLANケーブルの速度1Gに対して、 ここ数年のPCの内部通信速度は3Gないしは6Gの通信速度のはずです。 計算時に使用するデータサイズによっては、 当然通信に3倍から6倍程度の差が生じるため、 1~2分に対して5~10分は妥当な数字だと思います。 確認方法はトラフィックの量を計測して予測時間を計算すれば、 ネットワークを使っての演算に時間がかかるのを納得してもらえるのではないでしょうか。
お礼
ご回答ありがとうございました。 二つの回答とも非常に参考になりました。 ポイントを付与できず申し訳ありません。 最初の回答の方に付与させていただきました。 ご回答頂いて点を参考にしたいと思います。 ありがとうございました。
お礼
忙しいところご回答いただきありがとうございました。 一度、他のPC上でもエラーが発生するか確認したいと思います。 まあ、もう一度話をして理解頂く様努めたい思います。 ありがとうございました。