SQLServerをバックエンドとして使用する.NETWebアプリケーションを開発しました。次に、テクニカルサポートチームに監視ダッシュボードアプリを提供したいと思います。この監視アプリは、アプリケーションをホストしているWebサーバーとデータを保持しているデータベースサーバーの「正常性」の全体像を表示するという考え方です。この「ヘルス」測定値は、各マシンのワークロードを反映する必要があり、決定する必要のあるいくつかの入力から計算された数値(たとえば、0から100の間)になります。
Webサーバーの場合、時間単位あたりのHTTP要求を考慮する必要があり、おそらく帯域幅が消費されると思います。
データベースサーバーの場合、時間単位あたりのトランザクションと、おそらくロックまたはその他のインジケーターまたはデータベースの同時実行性を使用する必要があると思います。
さらに、CPU負荷、メモリ使用量、ディスクキューの長さなど、その他の一般的な入力も考慮する必要があります。
各サーバーの最終的な「正常性」の数値を取得するには、必要に応じてこれらすべての要素を比較検討する必要があります。
編集します。「ヘルス」測定により、技術者はサーバーのワークロードの全体像を把握できます。サーバーの「正常性」が低いように見える場合、技術者はドリルダウンしてマシンの詳細を調べ、どの特定の入力が低い「健全性」を引き起こしているかを確認できます。
私の質問は次のとおりです。
- この「健康」対策は理にかなっていると思いますか?
- パフォーマンスカウンターを使用して入力データをキャプチャすることを考えています。これは最良の選択肢ですか?
- Webサーバー(IIS 7)とデータベースサーバー(SQL Server 2008)に適切な入力を提案できますか?
ありがとう。