
ASP.NETを用いたWebサイトをIIS上で運用した際、開発したアプリケーションが少しでも動いた後にアプリケーションを停止せずサイトを停止すると、ワーカープロセスが原因でCPUが100%となります。
CPUが100%の状態のまま放置してもCPUの負荷が無くなりません。(アプリケーションプールを停止させることによってCPUの負荷が無くなります。)
この事象に関してネットで原因を調査した結果、明確な解決方法が見当たらずこちらに質問させていただく次第でございます。IISの設定に関して詳しい方がおられましたら、この事象の原因と考えられる要素などをご教授下さい。
動作環境
Windows2008 R2
IIS7.5
.NET FrameWork4.5
開発環境
VisualStudio2012
ASP.NET(.NET FrameWork4.0) FORMSで開発
Oracle ODP
No.2ベストアンサー
- 回答日時:
「アプリケーションを停止せずサイトを停止」というのが具体的にどのような手順なのかわからないのですが、手元のシステム(IIS7.5/Win2008R2server)で、World Wide Web Serviceを強制停止してみても、メモリプールやCPU占有は発生しません。
世の中に、IIS7.5+ASP.NET4 Web Formms+ODP.NETで構築されたシステムは大量に存在し、しかも業務用途でクリティカルな要件で動作しているものも数多いはずなので、根本的なバグである事は考えられません。事象の切り分けが必要かと思います。
・ODP.NETなしのアプリケーションでも同じ事象が発生するか?
・DAOによる変化はあるか?(DataReader、TableAdapter、EntityFrameworkなど)
・「アプリケーションが少しでも動いた後’というのはODP.NETと無関係か?
・(プログラム中)usingによるリソースやトランザクションの開放は確実に行っているか?
など、突っ込みどころは多いです。
この回答への補足
ありがとうございます。
おっしゃるとおり、切り分けのために時間を割いて、機能的な差異を作り、境界点を調査するのが筋とは思うのですが、あまりにも単純に出るので、ひょっとすると、結構メジャーな障害なのかもとも思い、経験のある方がおられればと思い質問させていただきました。
状況を加筆すると、
ODP.NETは、OnInitでコネクションを接続し、
OnUnloadでコネクションを解放しています。
Global.asaxのApplication_Startでlog4jの初期化をかけて、Application_endでlog4jのシャットダウンをかけているのが特徴です。
ちょっとでも動かしたとは、
iis起動後、login画面を表示しただけですが、
上記のlog4jの初期化、odpのコネクション接続、切断は走行しています。dbアクセスは一切ありません。
そのあとiisのサイト停止を行ったところで、
ワーカープロセスが100%になってしまった、
というところです。
現在本システムは本番にはいっていますが、
運用中のワーカープロセスが100%になる事象が
出ていないのが救いです。
ワーカープロセスが100%になる現象の原因はなんとしても
突き止めるつもりですが、残念ながら今回は、時間切れで見切り発車しています。
以上
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
新生活!引っ越してから困らないように注意すべきことは?
新しい職場や学校で元気いっぱいのスタートを切るためにも快適な生活環境を整えておきたい! >>
-
原因不明のCPU使用率100%
中古パソコン
-
IISがフリーズ
Microsoft ASP
-
IIS ログの見方を教えて下さい
その他(コンピューター・テクノロジー)
-
4
IISの現在のセッション数を調べたい
Windows Me・NT・2000
-
5
SQL サーバのCPU使用率が高い
SQL Server
-
6
MS SQLServer のSQLで文字列の前にN:
その他(データベース)
-
7
ASP.NETのパフォーマンスと接続クライアント数
Microsoft ASP
-
8
IISのログに出力される「GET」と「POST」の意味
セキュリティソフト
-
9
IISの停止を監視する
サーバー
-
10
HyperVで仮想マシンがネットワークに繋がりません
ネットワーク
-
11
サーバーの同時接続数って?
その他(インターネット接続・インフラ)
-
12
IISでローカル内からhttp://localhostと入れても表示されない
Microsoft ASP
-
13
localhostにアクセスできない
Microsoft ASP
-
14
ASPで画面間のパラメタ受け渡し
Microsoft ASP
-
15
txtファイルから特定の文字列が書かれた行だけを取得や削除するソフト
フリーソフト
-
16
SELECT文でのデッドロックに対しての対処方
SQL Server
-
17
HTMLからフォルダを開きたい
HTML・CSS
-
18
データベースのINT型項目にNULLはNG?
MySQL
-
19
メモリの「コミット済み」の意味を教えてください
Windows 10
-
20
ASP.NETでのメッセージ画面を出すには
Microsoft ASP
関連するQ&A
- 1 ASPとASP.NETとASP.NET2.0の違い
- 2 IISのセッション情報について(旧ASPとASP.NETの共有)
- 3 ASP.NETのWebアプリをVBで開発したいASP初心者の質問
- 4 ASP.NET(VB.NET)でADO.NETを使ってAccessデータベースに接続する方法(長文)
- 5 .NETを使用せずに、ASP・VBScriptで前のレコードボタン環境:(WinXP_pro、IIS、ACCESS)
- 6 ASP.NETで運用エラー
- 7 [ASP.NET] Web.configからの値取得
- 8 ASP.net1.0 Win7 IIS7
- 9 asp.net IIS実環境でのエラー
- 10 2003ServerでASP.NETを運用していますが、
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
javaの堅牢性とは
-
5
SurfaceViewの一時停止や再開方法
-
6
C++からC#へ
-
7
意味が分からないエラー
-
8
VBとVBAの違いについて
-
9
32ビットのアプリで、64ビットO...
-
10
AccessとVBの違いについて
-
11
ログオフ中でもアプリケーショ...
-
12
MSCOMCTL.OCXのアップデートの方法
-
13
CrystalReportsのバージョン確...
-
14
エクセルVBAを動かすノートPC...
-
15
gitでバージョン指定してダウン...
-
16
映写機のフィルム効果音のサウ...
-
17
JAVAを使って管理システムを構...
-
18
内部仕様、外部仕様
-
19
プログラミング言語についてで...
-
20
エクセルVBAがMACで動かない
おすすめ情報