- PR -

実行結果がタイムアウト・・・

1
投稿者投稿内容
eich2509
会議室デビュー日: 2007/03/06
投稿数: 13
投稿日時: 2007-09-07 15:30
環境:WindowsServer2003/SQLServer2000/ASPによるイントラネットサービス

いつもこちらではお世話になっています。
社内ツールとして、ASPによるイントラネットサービスの開発をしています。

SQLで直接ストアドを実行した場合に3秒で終わるものが、
イントラでASPよりストアド実行をすると、タイムアウトになってしまいます。
また、社内で大量のデータを使うようなツールを使っている場合とそうでない場合で
極端に処理時間に差が出ます。

タイムアウトの時間も長め(300秒)に設定し、ストアドもできうる限りの速度アップを試みました。

処理速度をアップするために、どの点に着目していけばよいのでしょうか?
システム開発者のため、ネットワーク、その他、サーバに関しての知識はほとんどありません。

現在使用しているWindowsServerはSQLServerとWebServerを兼任しています。
crab
会議室デビュー日: 2006/12/25
投稿数: 11
投稿日時: 2007-09-07 16:43
ASPのことはよくわからないのですが、直接実行して3秒で終わるものがASPからだとタイムアウトになってしまうのですから、ストアドの外でなにか遅くなるよう因果あるのではないでしょうか?
手順としては以下のような感じでしょう。

(1) ASPからストアドを呼び出す
(2) ストアド開始
(3) ストアド内で結果を返す
(4) ストアド終了
(5) ストアドからの結果を表示する

それぞれの手順の途中にいくつか時間をログかテーブルに書き込む処理を入れて、時間の経過を見てみたいですね。
例えば、ストアド内の最初と最後にタイムスタンプをログ用のテーブルに書き込む処理をいれてみるとか。
もしかしたら、ストアドが呼び出されるまでに時間がかかってるかもしれないし、ストアド内で時間がかかってるかもしれないし、もしくは実はストアドは終了していてソトアド処理後に時間がかかってるのかもしれません。

時間の経過から、ボトルネックになってる箇所をしぼっていってみてはいかがでしょうか。

あと、ストアド内の処理をいくつか削ってみて、SQLからだと一瞬に終わるくらいにして、ASPで実行するとどうなるか?とか。


1

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