現在超多忙状態。余裕皆無。首回転不能。唯眼球回転。
というわけで、仕事で使っていた自作プログラムを、ようやくネットワークを使った新システム(他社製)に入れ換えた。
・・のだが、なんか反応が鈍いのである。
いや、クライアント(WinXPのPC)によって速かったり遅かったりするのだ。なして??
サーバ役のPC自体でクライアントを立ち上げると、当然のごとく速い。
ベンダさんに借りたPCでも速いのに、自前で用意したPCでは遅い。CPU/メモリ的に性能が良いはずなのに・・・
SEさんは「なんかネットワーク的に制限かかってるんでしょかね」「入力は問題なくできるからいいでしょ」「ま、全部なめる検索とかはサーバ機とかでやってね」「ぢゃ、そーいうことで」・・と、お帰りになってしまわれたのであった。
しかし、どうも納得いかない。
日中は忙しいので、夜中に調べてみることにした。
大きな声では言えないが、Wiresharkをインストール。*1
こいつで調べてみたら、あれ?なんか15秒ごとに反応してるような・・・ということで、一発で原因が判明。
DNSを引きに行って、タイムアウトしてからIPアドレスそのものでアクセスしに行ってるようなのだ。ちなみに、WindowsにおけるDNSリゾルバのタイムアウトは15秒が基本。
借り物PCの反応が速かったのは、借り物なので、もともとDNSを探しに行く設定になっていなかったため、いきなりIPアドレスで接続していたのである。
ゲリラ的サーバなので、DNSには登録していないため、hostsファイルとか lmhostsファイルで対応する必要がある。といっても早い話、コンピュータ名とIPアドレスをファイルに書き込んでおくだけだ。
そんなわけで、これで自前PCからの検索も4秒でOKとなったのである。めでたし、めでたし。
さて、自作プログラムはこれでお払い箱なのかというと、実は今回導入したシステムには自作プログラムの全機能が備わっているわけではない。けっきょく、まだもう少し使い続けなければならないこととなったのである。
2000年問題ってのもあったけど、平成3年に作ったプログラムをまさかここまで引っ張るとは・・・予想だにしなかったことよのう。
*1 ネットワーク・アナライザ・ソフト。一昔前は数百万円したものが、現在ではタダで手に入る。