- PR -

ASP.NETで画面表示時の画面がフリーズして白くなる。

1
投稿者投稿内容
ホーガン
常連さん
会議室デビュー日: 2008/02/18
投稿数: 42
投稿日時: 2008-10-10 18:49
画面表示時に画面がフリーズして白くなるという事象が発生しています。
【実行環境】
  ・Windows2003Server(サーバーのOS)
  ・WindowsXP(クライアントのOS)
  ・ASP.NETで開発
  ・IIS6を使用
  ・回線は、ADSL
【処理概要】
  店舗から在庫数を入力し、本社サーバー上のAS400のDBを更新するという
  単純な画面です。クライアント数は約50クライアントです。
  @在庫情報を検索して画面に表示する。
  A在庫数を入力する。
  B[送信]ボタンを押下して、本社サーバーのDBを更新する。
  Cクライアントでは、サーバーから応答が返ってくるまで「処理中」と表示する。
  DサーバーサイドでDB更新が終了したら、「送信が完了しました。」と
   メッセージを表示する。

【障害内容】
  当事象が発生しているのは、7月から10月まで3か月間稼働
  していて1店舗のみで、2回発生しました。
  【処理概要】のBの動作をした時点で、画面が白くなりフリーズします。
   サーバーの処理は、1秒以内で終わるので、通常ではCの「処理中」という
   メッセージが見える事は、ほとんどなくDの「送信が完了しました。」という
   メッセージが表示されます。 
   たぶん、Dの画面を表示する際に時間がかかってしまい、画面が白く
   なっているのかと考えているのですが、この様な事象の場合、原因とし
   て何が考えられるのか何方かヒントを頂けませんでしょうか。
   正常時と障害時でクライアントの環境に差異はありません。
   (他のアプリケーションを複数立ち上げているという事もありません)

hebikuzure
ベテラン
会議室デビュー日: 2006/03/11
投稿数: 56
投稿日時: 2008-10-12 17:01
これだけの情報だと「Dの画面を表示する際に時間がかかってしまい、画面が白くなっているのかと考えているのですが」という程度以上のヒントも難しいですねえ。
例えば「フリーズして白くなる」というのはクライアントでのブラウザの操作が何もできなくなるのか、リロードなどするとどこかの画面に遷移できるのかどっちなのか、また現象発生時にデータベースのトランザクションは完了しているのか失敗しているのか、などなど参考となる情報は沢山あるでしょう。
それに最終的にはそのWebアプリの作りこみ方が関係してくるとも思いますし。
それに「3か月間稼働していて1店舗のみで、2回発生」と言っても1日にどの程度の回数更新作業を行うのかによっても発生頻度は異なりますね。

現象の発生が非常にクリティカルなのであれば別ですが(投稿を見る限り重大な深刻度ては思えませんが)、現時点で原因をアレコレ考えるより、次の再現時に原因追究のために必要な情報をどう採取・保全するかを考えた方が良いかと思います。
ホーガン
常連さん
会議室デビュー日: 2008/02/18
投稿数: 42
投稿日時: 2008-10-15 10:47
末端技術者Aさん、回答ありがとうございます。

>次の再現時に原因追究のために必要な情報をどう採取・保全するかを考えた方が良いかと思います。

おっしゃる通りだと思いますが、どうすれば良いのか悩んでいます。

ちなみに、フリーズとは、クライアント側のブラウザが何も操作できなくなります。(但し、×ボタンだけは生きているんですけど)
サーバー側のトランザクションを完了していてDBの内容も全て、送信された内容で書き換えられています。
使用頻度としては、1日に10回程度の送信を行うのですが、最近は、発生していません。何でもいいからヒントを探ろうと、イベントログを採取してみたのですが、
その店舗のログだけに
「障害が発生しているアプリケーション iexplore.exe、バージョン 7.0.5730.11、タイム スタンプ 0xunknown、障害が発生しているモジュール 0.0.0.0、バージョン 001d303c」
というエラーが多発しているので、これが何か関係あるのかと思い現在調査しています。

とりあえずは、ここから調べてみます。
1

スキルアップ/キャリアアップ(JOB@IT)