IIS がハングした時にダンプを作成するツールいろいろ
IIS がハングする
たまーにですが、IIS からレスポンスが全然返ってこなくなってしまい、アプリケーションプールを再起動しなくてはならなくなる事があります。
ロードバランサで片方生きてるから大丈夫とはいえ、放置していい状況では無いわけで本格的に調査をするためにダンプを取ろうという事になりました。
以下は単にツールの列挙。
Debugging Tools for Windows
その名の通り、Windows 用のデバッガです。このツールでダンプファイルを作成する事が可能です。
参考リンク
- Debugging Tools for Windows - Web/DB プログラミング徹底解説
- IIS 6.0 上で動作する Web アプリケーションのダンプ ファイル取得方法 - マイクロソフト サポート オンライン
- IIS 6.0 で ASP.NET がデッドロックになった場合のダンプ ファイルの生成方法 - マイクロソフト サポート オンライン
まあ、元々ただのデバッガなので、いろいろめんどくさそうですね。(ダメ人間。。
IIS Crash/Hang Agent & IIS Dump
IIS 5, IIS 5,1, IIS 6.0 に対応したツールです。最新の IIS 7.x には対応していません。
Debugging Tools for Windows とは異なり、IIS のハングやクラッシュの検知が用意に実施できます。
基本的にはコマンドベースで解析に関してもコマンドで行います。
特徴として、ハングアップを検出した時にカスタムのコマンドを叩くことができるというものがあるようです。(参考リンクを参照
Debug Diagnostic Tool
上述の IIS Crash/Hang Agent & IIS Dump の後に作られた新しいツールです。
各サイトで紹介されている v1.1 は windows server 2008 に対応していませんでしたが、2011/7/14 に出た v1.2 で無事 2008 にも対応しました。
ダンプの検出に関しても特定のサイト・アプリケーションプールに関しての監視を行い、自動で検出を行ってくれます。
設定から解析までを全てGUIで操作できるため非常に簡易です。
一応
弊社では Debug Diagnostic Tool を採用する事にしました。IIS Crash/Hang Agent & IIS Dump のハング検知時にコマンド流せるってのも魅力的ではあったのですが、あまそこは別でやろうよって事だと思うので。
後は windows server 2008 の対応状況ってとこですかね。デバッガも使いこなせるといいんでしょうけど、これはまた今度。