none
サーバーエラー HTTPステータス 500 RRS feed

  • 質問

  • WEBアプリからストアドを実行するものがありまして、

    よくサーバーエラー500が発生してしまいます。(毎回ではありません)

    ログを見ると処理自体は成功しているのですが画面上はエラーで返されてしまいます。

    そこで原因を調査しているのですが何が考えられるでしょうか?

     ・SQL Profilerにてストアドの処理はエラーになっていないことを確認済み

     ・画面にてDataAdapterを使用しているのでTime Out値は60秒に変えました。

     ・IIS Failed Requestを見ると35秒くらいでHTTP Status 500を返してました。

    メモリが足りないのでしょうか?もしそうならば後からメモリが高くなっている時間帯を調べる術はあるのでしょうか?

    【開発環境】

    Windows Server 2008, SQL Server 2008, IIS7, ASP.NET, .Net Framework 1.1

    2015年4月23日 10:03

回答

  • 回答いただいたお二人の内容を確認しました。

    IISの設定は正しくされてました。

    そして失敗した要求のトレースは以前から仕込んでいるのですがログを見てもいまいち理解できなかったので避けていましたが

    ここから調査するしか無いようですね。

    回答ありがとうございました。

    出ていたログです。
    ModuleName IsapiModule
    Notification 128
    HttpStatus 500
    HttpReason Internal Server Error
    HttpSubStatus 0
    ErrorCode 0
    ConfigExceptionInfo
    Notification EXECUTE_REQUEST_HANDLER
    ErrorCode The operation completed successfully. (0x0)
    • 回答としてマーク fsp6 2015年4月27日 4:15
    • 編集済み fsp6 2015年4月27日 9:20
    2015年4月27日 4:14

すべての返信

  • IIS 7 で失敗した要求トレースを構成するを参考にトレースログを確認するとなぜ500エラーが返されたのか、その原因が分かります。
    2015年4月23日 10:11
  • > WEBアプリからストアドを実行するものがありまして、
    > よくサーバーエラー500が発生してしまいます。(毎回ではありません)

    ストアドの実行がサーバーエラーと関係があると言っていますか? では、関係あると判断された根拠を教えていただけませんか。

    > .Net Framework 1.1

    それは間違いありませんか? .Net Framework 1.1 という昔のアプリが、今になってサーバーエラーを起こすようになったということでしょうか? 昔は問題なかったということなら、昔と今とで何か変わったのですか? サーバーが Windows Server 2008 ということは、サーバーを変えたとかいうことですか?


    • 編集済み SurferOnWww 2015年4月23日 12:11 誤字訂正
    2015年4月23日 11:54
  • >ストアドの実行がサーバーエラーと関係があると言っていますか?

    どんな動作がされているかを説明するために記載しました。ストアドの実行は関係ないかもしれません。

    最近になりまして「Windows server 2000, SQL Server 2000」→「Windows server 2008 Sta, SQL Server 2008」に変更しましてそれ以降、アプリのレスポンスが悪化してしまいました。

    そこでSQLチューニングアドバイザを使用して診断したところ、インデックスの削除が推奨され、推奨のまま実行をしました。

    その結果、バッチ処理は若干早くなりましたがWebの画面遷移などが遅くなってしまいました。

    遅くなるだけならいいのですがサーバーエラーも発生するようになり、今回の質問に至るわけです。

    2015年4月24日 1:24
  • そういうことだとすると、そもそも IIS5 ⇒ IIS7 アップグレードした時に IIS の設定が正しく行われたかというあたりまで話が遡ってしまいませんか? 少なくとも、以下のページに書いてあるようなことは完璧に実施済みと思っていていいのでしょうか?

    ASP.NET 1.1 から Windows Vista および Windows Server 2008 の IIS 7 へのアップグレード
    https://technet.microsoft.com/ja-jp/library/ff454035.aspx

    上の記事のようなことは百も承知で、設定は完璧と言うことでしたら失礼しました。

    #上の質問者さんのレスに書かれた情報は、一番最初の質問の中に書いておいていただければと思います。質問者さん自身が逆の立場(回答する立場もしくは一般閲覧者)だったらどう思われますか?

    2015年4月24日 3:47
  • アップグレードした直後はWEB画面は正常に動いてましたので変化点として記載しませんでした。

    (SQLのバッチ処理は遅くなりましたが)

    おかしくなったのはチューニングアドバイザの推奨設定を実施した後です。

    (以前レスポンスが遅いことはあってもサーバーエラーは決しておきませんでした)

    【アップグレード直後】

    WEB画面 →変化なし SQLジョブ→遅くなった  

    【チューニングアドバイザの推奨設定実施後】

    WEB画面 →時々サーバーエラー500が発生、 SQLジョブ→若干早くなった  

    --------回答者への配慮はきちんと考えているつもりです。

    2015年4月24日 8:28
  • > 回答者への配慮はきちんと考えているつもりです。

    分かりました。質問者さんなりに配慮されていると理解しておきます。

    ただ、それでは自分はお役に立てそうもありません。すみませんが、他の方の回答をお待ちください。

    2015年4月24日 13:17
  • 回答いただいたお二人の内容を確認しました。

    IISの設定は正しくされてました。

    そして失敗した要求のトレースは以前から仕込んでいるのですがログを見てもいまいち理解できなかったので避けていましたが

    ここから調査するしか無いようですね。

    回答ありがとうございました。

    出ていたログです。
    ModuleName IsapiModule
    Notification 128
    HttpStatus 500
    HttpReason Internal Server Error
    HttpSubStatus 0
    ErrorCode 0
    ConfigExceptionInfo
    Notification EXECUTE_REQUEST_HANDLER
    ErrorCode The operation completed successfully. (0x0)
    • 回答としてマーク fsp6 2015年4月27日 4:15
    • 編集済み fsp6 2015年4月27日 9:20
    2015年4月27日 4:14