まとめ:リソース不足がアプリケーションのクラッシュの原因であるかどうかを確認するために、Windows XP マシンのリソースの使用状況をログに記録する必要があります。その方法についてアドバイスをお願いします。
コンテクスト:Windows XP、MS-SQL Server 2008 R2 Express、サードパーティ アプリケーションを搭載した産業用 PC があります。
アプリケーションは専用ハードウェアからデータを収集し、センサー値をデータベースに保存します。基本的に、データは UTC と 4 つの温度です。サンプリング間隔は 1 分 (つまり、最小限の負荷) です。再度強調しますが、アプリケーションは 1 分に 1 回だけ 5 つの値を 1 つのレコードにデータベース テーブルに保存します。
私の仕事は、SQL Server Service Broker ソリューションを実装して、収集したデータを中央の SQL サーバーに転送することでした。(新しいレコードのトリガー、XML が形成され、反対側に送信されます。) 正常に動作すると、スムーズに動作します。ただし...
問題:アプリケーションがデータ収集のために停止することが時々あります。SSB ソリューションの実装後にリソースが不足したためだと主張しています。私の推測では、SQL サーバーの変更は単なる言い訳として使われているだけでしょう。いずれにしても、彼らの言うことは正しいかもしれません。クラッシュ時に何が起こったのか、正確な証拠が必要です。
アプリケーションは UTC を記録するので、動作が停止した時刻がわかります (欠落している温度記録から)。
私の質問:リソースの使用状況をどのように記録すればよいですか? どのリソースを観察する必要がありますか? また、この目的のためにどのツールを使用すればよいですか?
私はハードウェア/OS 管理の訓練を受けておらず (一般的な知識はあるだけです)、これまでそのような問題を解決したことがありません。
私は、パフォーマンスカウンターですが、私はそれらを使用しておらず、どのように記録するかもわかりません。パワーシェルマシンにインストールされているユーティリティが問題になる場合は、PowerShellからパフォーマンスカウンタにアクセスできると聞いたことがありますが、それ以上は知りません。パフォーマンスモニターマシン上にありますが、目的に使用できるかどうかはわかりません。
問題を解決する方法についてのご提案をいただければ幸いです。
ペトル
答え1
これまでのところ、私は以下の推奨事項を見つけましたhttps://serverfault.com/a/140978これは私の問題に関係しているようです。Windows XP で使用できる Logman、Relog、Typeperf コマンドライン ユーティリティ (PerfMon の代わりに) を推奨しています。これらは私のニーズに合っているようです (http://support.microsoft.com/kb/303133/en-us?fr=1)。
また、どのようなパフォーマンスカウンターを観察すべきかについての記事も見つけました...いくつか紹介します
- http://sqlblog.com/blogs/kevin_kline/archive/2008/03/28/the-most-important-performance-monitor-counters-for-sql-server.aspx
- http://searchsqlserver.techtarget.com/video/SQL-Server-PerfMon-counters-for-tracking-Windows-memory
- http://searchsqlserver.techtarget.com/SQL-Server-PerfMon-counters-for-Windows-operating-system-OS
- http://www.techbubbles.com/sql-server/analyzing-sql-server-performance-using-performance-monitor-counters/