各POSコンピューターにローカルデータベースがあり、IISでホストされているWCFを使用してサーバーと通信するPOSアプリケーションを開発しています。このアプリケーションは、1年以上にわたって複数の顧客に導入されています。
約1週間前、IISがホストされているサーバーの速度が非常に遅いというお客様からの報告を受け取り始めました。問題を確認したところ、8 cpuサーバーでプロセスロケットを使用したアプリケーションプールがほぼ100%cpuになっていることがわかりました。
SQLアクティビティモニターとネットワークボリュームを確認しましたが、通常見られる以上の重大な過負荷は見られませんでした。
Process Explorerでスレッドをチェックすると、多くのスレッドがCreateApplicationContextを繰り返し呼び出しているのがわかりました。ネット上で見つけたいくつかの投稿によると、.Net 2.0 SP1をインストールしようとしましたが、問題は解決せず、関数呼び出しをCLRCreateManagedInstanceに置き換えました。
IISプロセスのadplusとwindbgを使用してダンプをキャプチャし、何が問題なのかを突き止めようとしています。
誰かがこのようなことに遭遇したことがありますか、またはどのディレクトリをチェックする必要があるか考えていますか?
ps同じバージョンのアプリケーションが別の顧客にデプロイされており、そこでは問題なく動作します。また、バージョン(非常に古いバージョンでも)をロールバックしてみましたが、それでもまったく同じように動作します。
編集:まあ、問題は解決しました。結果セットを制限しないSQLクエリがそこにあり、顧客が特定の行数を超えると、サーバーがダウンし始めました。ログに周囲の騒音があったため、2日かけて見つけましたが、夜を待ってダンプを取り、すぐに質問が表示されました。