IIS 6/COM +がハングする


4

重い負荷でハングアップするWebアプリケーションがあります。それを元に戻すには、「dllhost.exe」プロセスを終了させる必要があります。 誰かが何をすべきか知っていますか?

これは、多くのCOM +オブジェクトを含むClassic ASP(VBScript)アプリケーションです。

サーバは以下の構成を有する:

  • のIntel Core 2 Duoプロセッサ2.2 GHzの/ 4 GBのRAM
  • のWindows Server 2003 Web EditionのSP2
  • は6.0

一部があるのIIS COMオブジェクトに関連するイベントログのエラー。しかし、なぜCOMオブジェクトのエラーがサーバー全体をクラッシュさせるのでしょうか?

COMオブジェクトは、COMオブジェクトとしてデプロイされたPowerBuilderオブジェクトです。

IIS 7.0よりもIIS 6.0より安定していますか?

2

問題を引き起こすdodgy COMオブジェクトのような音です。スレッドセーフであれば、アプリケーションにロードしますか?またはそれぞれのリクエストで使用されて破棄されますか?

はい、数時間ごとにリサイクルすると問題を隠すのに役立ちますが、デバッグして正しく修正する必要があります...どのCOMオブジェクトが問題なのかを分ける/征服してみましたか...想像できるこれは本番環境では扱いにくいので、問題をローカルで再現するためにいくつかの重い自動テストを設定し、それに何かできることが必要です。


1

イベントログには、アプリケーションカテゴリとシステムカテゴリの下に多少のエラーがあります。これらのエラーの原因を見つけたり、ここに投稿してください。私たちができることを見てみましょう。

編集: @ダニエルシルベイラ メモリリークが考えられます。どのようなCOM +オブジェクトを使用していますか?私は、私がサポートしているアプリケーションでExcelにいくつか問題がありました。


2

あなたがメモリリークを持っている:)

このブログのエントリは、IISのトラブルシューティングのための私のバイブルです:

http://blogs.msdn.com/david.wang/archive/2005/12/31/HOWTO_Basics_of_IIS6_Troubleshooting.aspx

あなたのコードを監査し、参照リークがどこにあるか見つけることができない場合は、別の方法として、24時間ごとにIISを再起動してアプリケーションをリサイクルする方法があります。これを行うサーバージョブとしてコマンドラインスクリプトをセットアップすることができます。

  0

あなたは単にアプリケーションプールをリサイクルすることができます。リサイクルタブはこのために作られています。スクリプトは必要ありません。 12 12月. 082008-12-12 15:33:58