[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]

-[[戻る>障害発生時の分析]]

* 目次 [#cd7e9123]
#contents

*概要 [#oc683cf8]
以下は障害発生までに至る因果関係の事例になります。

-「現象」と「原因」はプラットフォームの内部状態を理解しなければ紐付けできません。
-逆に言えばプラットフォームの内部動作を理解しておけば、この紐付けも容易になります。

これを行うには
+プラットフォームに対する知識
+状態確認・分析方法に関する知識
+分析結果から原因を推測するスキル

が必要になります。

*xxx例外の発生 [#wff64f43]

**現象 [#rcbd7e66]
+例外でクラッシュ
+xxx例外

**分析手順 [#te05ed3d]
+ログ確認~
WERなどから例外情報を確認する。
+ダンプ+ダンプ解析
--本番環境でのみ再現する場合はクラッシュダンプ取得+解析
--例外情報と、例外を発生させているスレッドのスタックを確認する。
+プログラムのプロファイル~
開発環境で再現できる場合、プログラムをデバッグ

**原因 [#j699ff40]
プログラムのバグによる未処理例外

**解決策 [#lc3f2b19]
-問題のPGを修正
-ミドルウェアへのパッチ適用等

*OutOfMemory例外の発生 [#xd629ff0]

**現象 [#ic6f4c07]
+性能が出ない → 例外でクラッシュ
+メモリ使用量大 → GC、ページング → オーバヘッド大 → OutOfMemory例外

**分析手順 [#rd01a3b7]
+ログ確認~
WERなどから例外情報を確認する。
+パフォーマンスカウンタ~
ページング、メモリリークの確認、プロセスの特定など
+ダンプ+ダンプ解析
--本番環境でのみ再現する場合はダンプ取得+解析
--仮想アドレス空間の確保状況を確認する。
+プログラムのプロファイル
--開発環境で再現できる場合、プロファイルを実行
--ヒープの使用状況を確認する。

**原因 [#jfbc2e0c]
プログラムのバグによるメモリリーク

**解決策 [#g3b65dc3]
-問題のPGを修正
-ミドルウェアへのパッチ適用等

*CPU使用率大 [#x80f91c9]

**現象 [#j8539638]
+性能が出ない
+CPU使用率大

**分析手順 [#wf0d50ae]
+パフォーマンスカウンタ~
CPUリソースを消費しているプロセスの特定など
+ダンプ+ダンプ解析~
本番環境でのみ再現する場合はハングダンプ取得+解析~
(ハングダンプを取得可能なほどCPUを消費する場合に限り)~
ハングしていると思われるスレッドのスタックを確認する。
+プログラムのプロファイル~
開発環境で再現できる場合、プロファイラを実行して問題個所を特定

**原因 [#t92ff23b]
プログラムのバグ・問題によるCPUリソース大量消費(種々の効率の悪い処理に起因する)

**解決策 [#h1614b77]
-問題のPGを修正
-ミドルウェアへのパッチ適用等

*ディスクIOネック [#pea46f2d]

**現象 [#jbcf0d2d]
+性能が出ない
+ディスクIOネック

**分析手順 [#n5bd8103]
+パフォーマンスカウンタ~
ディスク・リソースを消費しているプロセスの特定など
+プログラムのプロファイル~
開発環境で再現できる場合、プロファイラを実行して問題個所を特定

**原因 [#p327c456]
プログラムの問題によるディスク・リソース大量消費

**解決策 [#pf3cc39d]
-問題のPGを修正
-ミドルウェアへのパッチ適用等

*SQLの完了が遅い [#c5b45e9f]

**現象 [#f2497d11]
+性能が出ない
+SQLの完了が遅い

**分析手順 [#p57f38d9]
+パフォーマンスカウンタ
--ハードウェア・リソース消費の確認
--SQL Serverの状態の確認
+SQLログ~
SQL Serverのイベントの確認
+SQLトレース~
DBMSインスタンスの処理しているクエリの確認
+実行プランの確認~
問題のSQLの実行プラインに問題が無いか確認

**原因 [#z53beded]
プログラムの問題によるディスク・リソース大量消費

**解決策 [#o60cc4f9]
-DBサーバのリソース不足
--ハードウェア・リソースの追加
-DB設定の問題によるリソース大量消費
--バッファ・キャッシュの拡張、
--DB拡張、ログ記録、制約、トリガ等の一時的無効化
-DMLの問題によるリソース大量消費
--非効率なデータアクセスを修正する。
--リソースを大量消費しないように修正する。
--インデックスを使用するように記述(ルールベース
--インデックスを使用するように統計情報を更新(コストベース
-DDLの問題によるリソース大量消費
--インデックスを張る。
--非正規化を実施。

----
Tags: [[:障害対応]], [[:デバッグ]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS