レスポンスの低下について


太郎  2008-08-13 21:51:54  No: 31527

現在三層構造でのシステム運用を行っています。(Delphi7で作成したEXEプログラム) 
構造はクライアントからサーバーAを中継しデータベースサーバーBを更新しています。 
 
社内的には問題なく動作しております。 
WAN超えでセグメントが変った場合に極端に遅くなり困っています。 
画面切替に15秒を要します。 
 
ただ以下の場合は負担なく動作します。 
1.Windows2000の場合 
2.WindowsXPでファイアーウォールを無効にした時 
 
ファイアーウォールの例外に起動EXEを登録してもかわりません。 
中継サーバーAを信頼済みサイトに登録しても同じです。 
 
この遅延はWindowsXP  SP2以上でおこるようです。 
 
ファイアーウォールを無効をにせず、レスポンスを上げる方法はないでしょうか。


そもそも  2008-08-14 16:46:51  No: 31528

WindowsXP SP2のファイアーウォールはそんなに良いものじゃないと思う。
企業なら、外部に接続するゲートウェイの役割を果たすハードウェアでセキュリティ面で強固なファイアウォールを構築してるはずだけど。
そうでなくても、ルータを設置している場合は、Windowsのファイアウォールに依存しなくても、ルータの方が不正侵入を防ぐのに適してる。
パソコンに到達する前に、ルータで不正侵入が遮断する方がセキュリティ面ではより好ましいし。


太郎  2008-08-14 21:02:07  No: 31529

そもそも さん

>外部に接続するゲートウェイの役割を果たすハードウェアでセキュリティ面で強固なファイアウォールを構築してるはずだけど。
>ルータで不正侵入が遮断する方がセキュリティ面ではより好ましいし

おっしゃる通りです。
いろいろ調べましたがWindowsXP SP2のファイアーウォールの良い話しは聞けませんでした。

ですが会社的に「全端末のWindowsXPのファイアーウォールを無効する」といった通達は問題があります。

ですので今回は三層構造で極端に遅くなる(画面の切替に15秒かかる)処理の時に強制的にWindowsXPでファイアーウォールを無効にした状態にしたい考えています。
netsh firewall set opmode mode = ENABLE
netsh firewall set opmode mode = DISABLE
でできそうです。(Windows Vistaではnetshが使用できないらしいですが。)

ただ処理が終わったあとに元の状態にする方法を探しています。
初期にファイアーウォールの状態を取り込む方法・・・・・
またnetshを内部的にDelphi7でできないかということ・・・


方法論として  2008-08-17 00:35:59  No: 31530

レスポンスを上げない選択肢もあると思うけど。

たとえばTProgresBar付きのダイアログに、
「サーバーと交信中です。しばらくお待ち下さい(15秒程度かかります)」
というキャプションをつけて随時更新してやれば、
体感的には「レスポンスがいいアプリケーション」ということになると思う。

ユーザーがイライラするのは、主に
・アプリケーションの動作が遅い場合
・ユーザーの意図が適切に反映されない場合
だから、これを取り除いてやることで心理的にストレスは減ると思う。

あるいは更新動作だけを受け付けて、バックグラウンドで通信するとか。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加