電子書籍の厳選無料作品が豊富!

業務で利用する特定のアプリケーションへの通信が遅くて困っております。具体的には繋がるまで(セッション確立?)の時間が1分もかかってしまうのです。

接続する環境:本社オフィス
接続先:データセンター
本社オフィスと接続先の帯域:広域イーサネット 20Mbps
アプリケーション:TCP1494

アプリケーションのサーバーにpingを打つと以下のような感じです。
Reply from xx.xx.xx.xx: bytes=32 time=7ms TTL=125

原因や確認すべき点などご指摘頂ければ幸いです。
よろしくお願い致します。

A 回答 (1件)

tcp 1494って、Citrixですよね。


これだけだと何もわからないので、どこに時間がかかっているのか地道にチェックしていくのが一番ではないでしょうか?
そのアプリケーションが自社で開発したものであれば、ログを多めに出すとかするとヒントが掴めると思われます。サード・ベンダー製であれば、やはりそこのサポートに相談するのが一番でしょう。

上記のいずれでもない場合、以下のような切り分け作業をやっていくことで、地道に問題箇所を切り分けていくしかないように思われます。

Q1. Citrix経由でExcelなんかを起動しても遅い?
  Yes→ネットワーカーに相談。特に相談相手がいないならWireshark(*1)なんかで調べてみる。
  No →Q2へ
  
Q2. データセンター内で当該アプリを実行しても遅いのか?
  Yes→まずは、データセンター内で問題を解決しましょう。
  No→一番はまるパターン。Q3へ(*2)

Q3. 当該アプリの内部処理を推測しつつ、可能性をひとつづつ潰す。
  ・一口に初期化といっても、オブジェクトの生成とかDBサーバーとの接続確立とか色々やっているはず。
   主にデータ取得先をメインになんかおかしな事になっていないかチェックする
  ・UNIX系ならstraceやtrussなどのコマンドで、システムコールを追跡してみてもヒントがつかめるかも(*3)
  ・うまく動作する時のパケットのやりとりと遅い時のパケットのやりとりをWiresharkで収集して比較する(少し根性がいる)


<過去の似た経験>
・DBサーバーがささっているイーサー・スイッチのポートが半死にしていた。一体、どういう壊れ方をしていたのかは不明だが、ポートを変更したとたんに不審なパフォーマンス問題が解決。
・クライアント側のIPアドレスがhostsファイルやDNSに登録されていないと、サーバープロセスがネーミングサービスに問い合わせを繰り返し、数回タイムアウトするまで待ち続ける仕様になっていた。

以上、お役に立てば幸いです。
この手の調査は異様に時間を喰う傾向があるので、時間を使いすぎないように注意する必要があるでしょう。スキルアップの機会としては悪くありあませんが。


(*1) 昔でいうところのEthereal
(*2) 社内で使うだけなら、Citrixあきらめて、Windowsのリモートデスクトップで我慢すればいいという話も...
(*3) Windows用にもStraceNTなるものがあるらしい

この回答への補足

WireSharkで調査した結果、ネットワークではなくサーバー、PCどちらかに問題があるというところまで切り分けできました。
ありがとうございました。

補足日時:2009/08/11 14:53
    • good
    • 0
この回答へのお礼

丁寧なご回答ありがとうございました。
過去の事例までご紹介頂き深謝です。
おっしゃるとおりCitrixでのアプリケーション接続において異様に時間がかかるのです。
Q1から順に従っていくとデータセンターからの接続においてパフォーマンスに問題はないことからネットワーク上の経路に問題があるのではないかというところまで掴めました。
ご指示のとおりデータセンター、本社からそれぞれ接続した際のパケットをWireSharkで収集し比較・分析したいと思います。
再度ご報告させて頂きます。

お礼日時:2009/03/31 12:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!